问题 多项选择题

[说明]


某超市的销售业务由一个销售业务管理系统进行管理,该系统每完成一次交易都需要提供顾客发票,其格式如表8-2所示。


对于该销售业务管理系统,分别给出了以下两种关系数据库的逻辑结构设计(下画线表示主键)。
设计一:
顾客(顾客代码,姓名,住址,联系电话)
收银员(收银员代码,姓名,身份证号,住址,联系电话)
商品(商品代码,商品名称,价格)
发票(发票号码,交易日期,顾客代码,收银员代码,商品代码,单价,数量)
设计二:
顾客(顾客代码,姓名,住址,联系电话)
收银员(收银员代码,身份证号,姓名,住址,联系电话)
商品(商品代码,商品名称,价格)
发票(发票号码,交易日期,顾客代码,收银员代码)
发票明细(发票号码商品代码,单价,数量)
1.(1)设计一的关系模式“发票”最高满足第几范式请用200字以内的文字简要说明理由。
(2)设计一和设计二哪个更加合理请用100字以内的文字简要说明理由。

答案

参考答案:(A) 设计一的关系模式“发票”最高满足第一范式(ANF)
因为由题意可得出以下函数依赖。
发票号码→(顾客代码,收银员代码,交易日期)
而关系“发票”的主键是(发票号码,商品代码)。非主属性“顾客代码”、“收银员代码”和“交易日期”并非完全依赖于主码,因此该关系模式不能满足第二范式(BNF),最高满足第一范式
(B) 设计二更加合理。因为设计二解决了设计一中由于非主属性不完全依赖于主码而造成的数据冗余等问题

解析:
(1) 设计一的关系模式“发票”最高满足第一范式(1NF)。因为依题意可得出以下函数依赖:
发票号码→(顾客代码,收银员代码,交易日期)
而关系“发票”的主键是(发票号码,商品代码)。非主属性“顾客代码”、“收银员代码”和“交易日期”并非完全依赖于主码,因此该关系模式不能满足第二范式(2NF),最高满足第一范式。
(2) 在设计一中,关系“发票”设计的不合理在于将发票的单值属性(发票号码,交易日期,顾客代码,收银员代码)和多值属性(商品代码,单价,数量)混合在一个关系中,由于非主属性不完全依赖于主码而造成数据冗余异常、修改异常和删除异常等一系列问题。而设计二则将设计一中的关系“发票”进行分解,使得发票的单值属性和多值属性分开,避免了相关异常问题。因此,设计二明显比设计一更加合理。

多项选择题
判断题