分析

案例题 阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
【说明】
假设某集团公司有多个仓库,存储多种零件,供给多个部门使用,公司规定:
1. 一种零件可以存放在多个仓库中,一个仓库可以存放多种零件;
2. 每个部门只有一个负责人;
3. 每个仓库每种零件只有一个库存数量;
4. 一个部门可以在不同的仓库领用零件,一个仓库可以供应多个部门;
5. 一个部门可以领用多种零件,一种零件也可以被多个部门领用;
6. 一个部门可以在不同的时间在同一个仓库领用同一种零件。
现拟开发一套零件库存管理系统,公司信息技术部门根据公司实际情况及规定初步设计了实体联系图,并创建关系模式R如下:
R (仓库编号,仓库名称,零件编号,零件名称,库存数量,领用部门编号,领用部门负 责人,领用时间,领用数量)
经过数据库专业设计人员分析后,发现存在一些问题,需要优化设计。
【规范化分析】
关系模式R的基本函数依赖包括6个:
1. (仓库编号,零件编号)→领用部门编号
2. 领用部门编号→领用部门负责人
3. 仓库编号→仓库名称
4. (1)→零件名称
5. (2)→库存数量
6. (仓库编号,零件编号,领用部门编号,(3))→领用数量
根据上述函数依赖,关系R的码为(4),R中存在非主属性对码的(5)和(6), 故R属于1NF。
【规范化设计】
按照规范化设计原则,将R分解成3NF模式集如下:
仓库(仓库编号,仓库名称)
零件(零件编号,(7))
部门((8),领用部门负责人)
库存(仓库编号,零件编号,(9))
领用(仓库编号,零件编号,领用部门编号,(10),领用数量)
【概念模型设计】
根据规范化设计结果,重新设计零件库存管理系统实体联系图如图1-1所示。




【问题1】(6分)
根据题意,将规范化分析中的空(1)?(6)补充完整。
【问题2】(4分)
根据题意,将规范化设计中的空(7)?(10)补充完整。
【问题3】(5分)
在“零件库存管理系统实体联系图”中画出三元联系“领用”,并标明联系类型。

正确答案
【问题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:三元联系根据描述“某集团公司有多个仓库,存储多种零件,供给多个部门使用”可得出是部门、零件、仓库之间的三元联系。
三者之间的联系为多比多比多,可以用三个不同的字母表示,也可以用*:*:*表示,如上图所示。
查看解析

相关试题

刷题小程序
电子商务师题库小程序