问题
单项选择题
某公司的商品(商品号,商品名称,生产商,单价)和仓库(仓库号,地址,电话,商品号,库存量)两个实体之间的关系如表4-12和表4-13所示。
表4-12商品表 | |||
商品号 | 商品名称 | 生产商 | 单 价 |
10023 | 笔记本 | 联想 | 4800 |
10024 | 激光打印机 | 联想 | 1650 |
10025 | 台式电脑 | 联想 | 3860 |
20003 | 激光打印机 | HP | 1280 |
20004 | 笔记本 | HP | 3900 |
20005 | 电冰箱 | 海尔 | 3860 |
… | … | … | … |
表4-13 仓库表 | ||||
仓库号 | 地 址 | 电 话 | 商品号 | 库存量 |
01 | 高新路1号 | 8601 | 10024 | 26 |
01 | 高新路1号 | 8601 | 10025 | 89 |
01 | 高新路1号 | 8601 | 20003 | 10 |
02 | 友谊路6号 | 8602 | 10023 | 39 |
02 | 友谊路6号 | 8602 | 20004 | 26 |
03 | 高新路1号 | 8603 | 20005 | 18 |
… | … | … | … | … |
A.仓库1(仓库号,地址)和仓库2(仓库号,电话,商品号,库存量)
B.仓库1(仓库号,地址,电话)和仓库2(商品号,库存量)
C.仓库1(仓库号,电话)和仓库2(仓库号,地址,商品号,库存量)
D.仓库1(仓库号,地址,电话)和仓库2(仓库号,商品号,库存量)
答案
参考答案:D
解析:
[分析]: 从试题中所给出的表格来看,商品关系的主键是商品号,仓库关系的主键是(仓库号,商品号)。显然,仓库关系存在冗余、修改操作的不一致,以及插入异常和删除异常。例如,仓库号为“01”的商品有3种,其地址就要重复3次,故存在冗余。
为了解决仓库关系模式存在的问题,需要进行模式分解,其中(30)空选项A存在的问题是仓库2不属于第三范式,因为存在非主属性对键的部分函数依赖,即“仓库号→电话”。
选项B存在的问题是分解属于有损连接,即分解的新关系模式仓库1和仓库2无法恢复到原关系。
选项C分解存在的问题与A类同。选项D分解即保持函数依赖,又是无损连接。