列表

详情


阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某水果零售超市拟开发一套信息系统,对超市的顾客、水果、员工、采购和销售信息进行管理。

【需求分析】
(1)水果零售超市实行会员制,顾客需具有会员资格才能进行购物,顾客需持所在单位出具的证明信才能办理会员资格,每位顾客具有唯一编号;
(2)超市将采购员和导购员分成若干个小组,每组人员负责指定的若干种水果的采购和导购。每名采购员可采购指定给该组购买的水果;每名导购员都可对顾客选购的本组内的各种水果进行计价和包装,并分别贴上打印条码;

(3)顾客选购水果并计价完毕后进行结算,生成结算单。结算单包括流水号、购买的各种水果信息和顾客信息等,每张结算单具有唯一的流水号;
(4)超市在月底根据结算单对导购员进行绩效考核,根据采购情况对采购员进行考核,同时也根据结算单对顾客消费情况进行会员积分。
初步设计的数据库关系模式如图1-1所示。

关系模式的主要属性,含义及约束如表1-1所示。

表1-1主要属性,含义及约束

 

 “结算单”示例如表1-2所示。

表1-2 “结算单”示例

 

【问题1】(5分)
对关系模式“顾客”,请回答以下问题:
(1)给出所有候选键。
(2)该关系模式可达到第几范式,用60字以内文字简要叙述理由。
【问题2】(6分)
对关系模式“结算单”,请回答以下问题:
(1)用100字以内文字简要说明它会产生什么问题。
(2)将其分解为第三范式,分解后的关系名依次为:结算单1,结算单2,...。并用下划线标注分解后的各关系模式的主键。
【问题3】(4分)
对关系模式“职责”,请回答以下问题:
(1)它是否是第四范式,用100字以内文字叙述理由。
(2)将其分解为第四范式,分解后的关系名依次为:职责1,职责2,...

参考答案:

【问题1】(5分)
(1)顾客编号,身份证号(2分,各1分)
(2)可以达到第二范式(1分)
理由:“顾客”关系模式中,存在以下函数依赖:
单位名称→单位地址,单位电话
存在非主属性对键的传递依赖,所以“顾客”关系模式可以到第二范式,但不满足第三范式(2分)
【问题2】(6分)
(1)根据“结算单”关系模式,可知其主键为(流水号,条码),而又存在部分函数依赖:
条码→水果名称,销售单价,数量,金额,导购员编号
根据第二范式的要求:不存在非主属性对键的部分依赖。所以“结算单”关系模式不满足第二范式,会造成:插入异常、删除异常和修改异常。
(2)对“结算单”关系模式进行分解后的关系模式及主键如下:
结算单1(流水号,条码)
结算单2(流水号, 顾客编号)
结算单3(条码,水果名称,销售单价,数量,金额,导购员编号)
【问题3】(4分)
(1)不属于第四范式
根据“职责”关系模式可知:其键为(水果名称,采购员编号,导购员编号),而存在多值依赖:
水果名称→→采购员编号
水果名称→→导购员编号
根据第四范式的要求,不允许存在非平凡的多值依赖。因此,“职责”关系模式不满足第四范式。
(2)对“职责”关系模式进行分解后的关系模式如下:
职责1(水果名称,采购员编号)
职责2(水果名称,导购员编号)

详细解析:

【问题1】

根据题干描述:每位顾客具有唯一编号,可以得出顾客编号可以唯一决定一个元组;同理身份证号也可以唯一决定一个元组;因此,顾客关系的主键为:顾客编号或身份证号;在顾客关系中,其函数依赖如下:顾客编号→身份证号;身份证号→(姓名,性别,积分);顾客编号→单位名称;单位名称→(单位地址,单位电话);该关系中不存在部分依赖,但存在传递依赖,所以该关系满足2NF但不满足3NF
【问题2】

每个结算单都有一个唯一的流水号,一个流水号对应的结算单中涉及到多种水果,每种水果都有自己唯一的条形码,因此,该关系的主码应为:(流水号,条形码),在结算单关系中,其函数依赖如下:流水号→顾客编号;条码→(水果名称,销售价格,数量,金额,导购员编号);从结算单关系的函数依赖中,可以发现存在部分函数依赖,所以该关系不满足2NF要求。将其进行分解,可以依照函数依赖将其分解为结算单1(流水号,条码)结算单2(流水号,顾客编号)结算单3(条码,水果名称,销售单价,数量,金额,导购员编号)
【问题3】

根据题干说明:超市将采购员和导购员分成若干个小组,每组人员负责指定的若干种水果的采购和导购。每名采购员可采购指定给该组购买的水果;每名导购员都可对顾客选购的本组内的各种水果进行计价和包装,并分别贴上打印条码;可以得出:一种水果有多名采购员,一种水果有多名导购员,因此,职责关系的函数依赖关系为:水果名称→→采购员编号;水果名称→→导购员编号,即该关系存在有非平凡函数依赖的多值依赖。所以不满足4NF的要求。对其进行分解为:职责1(水果名称,采购员编号);职责2(水果名称,导购员编号

上一题