【问题1】
(1)零件编号
(2)(仓库编号,零件编号)
(3)领用时间
(4)(仓库编号,零件编号,领用部门编号,领用时间)
(5)部分依赖
(6)传递依赖
注:(5)、(6)答案可以互换。
【问题2】
(7)零件名称
(8)领用部门编号
(9)库存数量
(10)领用时间
【问题3】
试题1:可以通过与上面的实体联系描述找出对应关系,零件编号决定零件名称,根据描述,每个仓库每种零件只有一个库存数量,可以知道仓库编号和零件编号共同决定库存容量,同时再根据说明中的1,2,4,6描述可得出领用的数量跟时间有关系,所以得出结论(仓库编号,零件编号,领用部门编号,领用时间)决定领用数量。
综合可得(1)空填写零件编号,(2)空填写 (仓库编号,零件编号),(3)空填写领用时间
通过分析,想要推导出所有属性,只能为(仓库编号,零件编号,领用部门编号,领用时间)的结合键,即为候选键(码)
只满足第1NF,说明存在了部分函数依赖和传递函数依赖。
首先部分函数依赖体现在,非主属性对码部分函数依赖 (仓库编号,零件编号,领用部门编号,领用时间)为候选键,(仓库编号,零件编号)→领用部门编号
存在部分函数依赖;同时存在(仓库编号,零件编号)→领用部门编号,领用部门编号→领用部门负责人的传递函数依赖。
试题2:3NF即要消除非主属性对码的部分依赖和传递依赖,需要对关系R进行分解如下:仓库(仓库编号,仓库名称)
零件(零件编号,零件名称)
部门(领用部门编号,领用部门负责人)
库存(仓库编号,零件编号,库存数量)
领用(仓库编号,零件编号,领用部门编号,领用时间,领用数量)
试题3:三元联系根据描述“某集团公司有多个仓库,存储多种零件,供给多个部门使用”可得出是部门、零件、仓库之间的三元联系。
三者之间的联系为多比多比多,可以用三个不同的字母表示,也可以用*:*:*表示,如上图所示。