刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

某水果超市的结算单关系包含多个属性,包括流水号、条码、水果名称等。该超市实行会员制,每位顾客具有唯一编号。请分析并回答问题: 1. 结算单关系的主键是什么? 2. 该关系属于哪一范式? 3. 为使该关系模式满足3NF,应如何分解结算单关系模式?

A
结算单1(流水号,条码,数量,金额,导购员编号),结算单2(流水号,顾客编号),结算单3(条码,水果名称,销售单价)
B
结算单(流水号,条码,水果名称,销售单价,数量,金额,导购员编号,顾客编号)
C
结算单1(流水号,条码,顾客编号),结算单2(条码,水果名称,销售单价,数量,金额,导购员编号)
D
结算单1(流水号,条码),结算单2(流水号,顾客编号),结算单3(流水号,条码,水果名称,销售单价,数量,金额,导购员编号)
使用微信搜索喵呜刷题,轻松应对考试!

答案:

A

解析:

第一空:题目中描述的结算单关系有多个属性,包括流水号、条码、水果名称、销售单价、数量、金额、导购员编号和顾客编号。根据数据库的主键定义,主键应该能够唯一标识关系中的每一行数据。在这个关系中,流水号和条码的组合可以唯一标识每一行数据,因此,结算单关系的主键应为(流水号,条码),故正确答案为B。

第二空:考虑到关系模式的范式要求,目前的关系模式可能存在部分函数依赖的问题,即非主属性(如水果名称、销售单价)对主键(流水号,条码)的部分依赖。为了使关系满足第二范式(2NF),我们需要消除这种部分函数依赖。因此,需要将原有的结算单关系分解为多个关系,以满足2NF的要求。根据题目中的选项,正确的分解方式应为将结算单关系分解为多个更细的关系,如结算单1、结算单2和结算单3等。因此,正确答案为D。

第三空:为了满足第三范式(3NF),我们需要进一步消除传递函数依赖。在这个场景中,我们需要消除条码对(水果名称,销售单价)的传递函数依赖。为了实现这一点,我们可以将结算单关系进一步分解为更细的关系。根据题目中的选项,正确的分解方式应为将结算单关系分解为结算单1(流水号,条码,数量,金额,导购员编号)、结算单2(流水号,顾客编号)和结算单3(条码,水果名称,销售单价)。这样,每个关系都满足3NF的要求,因此正确答案为A。

创作类型:
原创

本文链接:某水果超市的结算单关系包含多个属性,包括流水号、条码、水果名称等。该超市实行会员制,每位顾客具有唯一

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share