单选题
某公司的商品(商品号,商品名称,生产商,单价)和仓库(仓库号,地址,电话,商品号,库存量)两个实体之间的关系如表1和表2所示。
表1 商品表
|
| 商品号 | 商品名称 | 生产商 | 单价 |
| 10023 | 笔记本 | 联想 | 4800 |
| 10024 | 激光打印机 | 联想 | 1650 |
| 10025 | 台式电脑 | 联想 | 3860 |
| 20003 | 激光打印机 | HP | 1280 |
| 20004 | 笔记本 | HP | 3900 |
| 20005 | 电冰箱 | 海尔 | 3860 |
| ... | ... | ... | ... |
表2 仓库表
|
| 仓库号 | 地址 | 电话 | 商品号 | 库存量 |
| 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 |
| ... | ... | ... | ... | ... |
商品关系的主键是
(14) ;仓库关系的主键是
(15) ;仓库关系
(16) ,为了解决这一问题,需要将仓库关系分解为
(17) 。
单选题
A.商品号 B.商品名称 C.生产商 D.单价
单选题
A.仓库号,地址 B.仓库号,电话
C.仓库号,商品号 D.地址,电话
单选题
A.无冗余、无插入异常,但存在删除异常
B.无冗余,但存在插入异常和删除异常
C.存在冗余,但不存在修改操作的不一致
D.存在冗余、修改操作的不一致,以及插入异常和删除异常
单选题
A.仓库1(仓库号,地址)和仓库2(仓库号,电话,商品号,库存量)
B.仓库1(仓库号,地址,电话)和仓库2(商品号,库存量)
C.仓库1(仓库号,电话)和仓库2(仓库号,地址,商品号,库存量)
D.仓库1(仓库号,地址,电话)和仓库2(仓库号,商品号,库存量)
【正确答案】
D
【答案解析】从试题中所给出的表格来看,商品关系的主键是商品号,仓库关系的主键是(仓库号,商品号)。显然,仓库关系存在冗余、修改操作的不一致,以及插入异常和删除异常。例如,仓库号为“01”的商品有3种,其地址就要重复3次,故存在冗余。为了解决仓库关系模式存在的问题,就需要进行模式分解,其中(45)空选项A存在的问题是仓库2不属于第三范式,因为存在非主属性对键的部分函数依赖,即“仓库号→电话”。选项B存在的问题是分解属于有损联接,即分解的新关系模式仓库1和仓库2无法恢复到原关系。选项C分解存在的问题与A类同。选项C分解即保持函数依赖,又是无损联接。