参考答案:
【问题1】
(1)价格,天数
(2)“线路信息”关系模式可以达到BCNF范式。
因为非主属性价格、天数完全函数依赖于码且不传递依赖于码,且仅一个候选码,并为单属性。
或答:每个函数依赖的决定因素都包含码。
【问题2】
(1)“订单信息”关系不满足第二范式,即非主属性不完全依赖于码。
会造成插入异常、删除异常和修改复杂(或修改异常)。
(2)分解后的关系模式如下:
订单信息1(订单号,线路编号,联系人身份证号,出发时间,订单价格,人数)
订单信息2(联系人身份证号,联系人名称,联系方式)
订单信息3(订单号,负责导游工号,负责城市)
(3)分解后的主键如下:
订单信息1(订单号)
订单信息2(联系人身份证号)
订单信息3(订单号,负责导游工号)
【问题3】
(1)“员工信息”关系模式,不满足第四范式。
答出以下内容之一即可:
①该关系模式不满足第二范式。
②该关系模式存在非平凡的且非函数依赖的多值依赖。
③员工工号→姓名,年龄,员工类别,为部分决定。
④员工工号→手机号。
(2)分解后的关系模式如下:
员工信息1(员工工号,姓名,年龄,员工类别)
员工信息2(员工工号,手机号)
员工信息3(员工工号,计薪月,被投诉次数,带团人数,月薪)
详细解析:
本题考查数据库理论的规范化。
【问题1】
本问题考查非主属性和BCNF范式。
根据题意和“线路信息”关系模式可知,不属于任何候选键的属性(非键属性)为:价格,天数。
根据BCNF范式的要求:每一个函数依赖的决定因素都包含码。
而“线路信息”关系模式的函数依赖为:
线路编号→价格,天数
因此,“线路信息”关系模式可以达到BCNF范式。
【问题2】
本问题考查第二范式和第三范式的理解和应用。
根据第二范式的要求:不存在非主属性对码的部分依赖。
根据题意和“订单信息”关系模式可知,不属于任何候选键的属性(非键属性)为:
线路编号,联系人名称,联系人身份证号,人数,联系方式,订单价格,出发时间,
负责城市。
“订单信息”关系模式的函数依赖为:
订单号,负责导游工号→负责城市
订单号→线路编号,联系人身份证号,人数,订单价格,出发时间
联系人身份证号→联系人名称,联系方式
“订单信息”关系模式存在非主属性对码的部分依赖,因此,不属于第二范式。
根据第三范式的要求:每一个非主属性既不部分依赖于码也不传递依赖于码。
因此,需要根据第三范式的要求和“订单信息”关系模式的函数依赖,对“订单信息”关系模式进行分解以满足第三范式的要求。
【问题3】
本问题考查第四范式的理解和应用。
根据第四范式的要求:不允许有非平凡且非函数依赖的多值依赖。
“员工信息”关系模式的函数依赖为:
员工工号→姓名,年龄,员工类别
员工工号→手机号
(员工工号,计薪月)→被投诉次数,带团人数,月薪
由“员工信息”关系模式的函数依赖可知,“员工信息”关系模式存在部分依赖,所以,“员工信息”关系模式不满足第二范式;而“员工信息”关系模式也存在多值依赖,所以,“员工信息”关系模式不满足第四范式。
因此,需要根据第四范式的要求和“员工信息”关系模式的函数依赖,对“员工信息”关系模式进行分解以满足第四范式的要求。