问答题 阅读下列说明,根据要求回答问题。
[说明]
某旅行社拟开发一套旅游管理系统,以便管理旅游相关的信息。
(1)旅行社可发布旅游线路的信息,包含线路的价格、天数、住宿情况,以及具体的行程安排等。不同的线路参观的景点及住宿情况不相同,如表1所示。
表1 旅游线路信息
线路编号 SO-501 价格 2000 天数 4
日称号 景点 城市 住宿
D1 接站集合,天安门,紫禁城,颐和园 北京 建国饭店
D2 上午参观北京胡同,下午飞往西安 北京,西安 花园饭店
D3 上午参观兵马俑,下午参观大雁塔 西安 花园饭店
D4 上午参观钟鼓楼,下午返回 西安
  (2)游客与旅行社沟通,选择适合自己的线路,并由旅行社为其生成订单,以记录游客联系人的姓名、身份证号、联系方式、人数、所选线路、导游安排和票务信息。旅行社为游客在行程中的每个城市安排一个导游,负责游客在该城市的具体旅行安排。同一城市的负责导游相同,不同城市的负责导游有可能不同。
  (3)旅行社的每位员工只属于一种固定的员工类别,系统可记录员工的多部手机号。旅行社按月统计导游每月的带团人数和游客投诉次数,以计算导游的当月月薪。
  根据上述需求,初步设计了旅游信息数据库,其关系模式如图所示。
 
问答题 对于关系“线路信息”,请回答以下问题。
(1)列举出所有不属于任何候选键的属性(非键属性)。
(2)关系“线路信息”是否为BCNF范式?请用60字以内的文字简要叙述理由。
【正确答案】这是一道要求读者掌握数据库关系模式规范化理论中非主属性和BCNF范式的综合分析题,本题的解答思路如下。
(1)依题意,由表2中的关键信息“线路编号:唯一标识某条旅游的线路信息”可知,属性“线路编号”是“线路信息”关系模式的主键,而属性“价格”和“天数”是不属于该关系模式任何候选键的属性(非键属性)。
(2)根据BCNF范式的要求:每一个函数依赖的决定因素都包含码。而“线路信息”关系模式存在“线路编号→(价格,天数)”函数依赖关系,即非主属性(价格,天数)完全函数依赖于码且不传递依赖于码,并且仅有一个候选码,为单属性,因此该关系模式可以达到BCNF范式。
【答案解析】
问答题 对于关系“订单信息”,请回答以下问题。
(1)“订单信息”是否为第2范式?请用100字以内的文字简要说明会产生什么问题。
(2)把“订单信息”分解为第3范式,分解后的关系名依次为:订单信息1,订单信息2……
(3)列出分解后的各关系模式的主键。
【正确答案】这是一道要求读者掌握数据库关系模式规范化理论中2NF和3NF的综合应用题,本题的解答思路如下。
由“订单信息”关系模式和题干中的关键信息“旅行社为游客在行程中的每个城市安排一个负责导游……同一城市的负责导游相同,不同城市的负责导游有可能不同”可知,属性“订单号,负责导游工号”是“订单信息”关系模式的主键,而该关系模式不属于任何候选键的属性(非键属性)为“线路编号,联系人名称,联系人身份证号,人数,联系方式,订单价格,出发时间,负责城市”。
“订单信息”关系模式的函数依赖为:
(订单号,负责导游工号)→负责城市
订单号→(线路编号,联系人身份证号,人数,订单价格,出发时间)
联系人身份证号→(联系人名称,联系方式)
根据第2范式(2NF)的要求:不存在非主属性对码的部分依赖。而“订单信息”关系模式存在非主属性对码的部分依赖,因此该关系模式不属于2NF,会造成插入异常、删除异常和修改复杂(或修改异常)等问题。
根据第3范式(3NF)的要求:每一个非主属性既不部分依赖于码,也不传递依赖于码。因此,需要根据3NF的要求和“订单信息”关系模式的函数依赖,对“订单信息”关系模式进行如下分解以满足3NF。的要求。
订单信息1(订单号,线路编号,联系人身份证号,出发时间,订单价格,人数)
订单信息2(联系人身份证号,联系人名称,联系方式)
订单信息3(订单号,负责导游工号,负责城市)
其中,带下划线的属性为分解后的各关系模式对应的主键。
【答案解析】
问答题 对于关系“员工信息”,请回答以下问题。
(1)关系“员工信息”是否为第4范式?请用100字以内的文字叙述理由。
(2)若“员工信息”不是第4范式,将其分解为第4范式,分解后的关系名依次为:员工信息1,员工信息2……
【正确答案】这是一道要求读者掌握关系模式规范化理论中4NF的综合分析题,本题解答思路如下。
(1)由“员工信息”关系模式和题干中的关键信息可知,属性“员工工号,计薪月”是“员工信息”关系模式的主键,而该关系模式不属于任何候选键的属性(非键属性)为“姓名,出生日期,员工类别,手机号,被投诉次数,带团人数,月薪”。
“员工信息”关系模式的函数依赖为:
员工工号→姓名,出生日期,员工类别
员工工号→手机号
(员工工号,计薪月)→被投诉次数,带团人数,月薪
根据第4范式的要求:不允许有非平凡且非函数依赖的多值依赖。由“员工信息”关系模式的函数依赖可知,由于“员工信息”关系模式存在部分依赖,因此该关系模式不满足第2范式(2NF);由于“员工信息”关系模式也存在多值依赖,因此该关系模式不满足第4范式(4NF)。
(2)根据第4范式(4NF)的要求和“员工信息”关系模式的函数依赖,对“员工信息”关系模式进行如下分解以满足4NF的要求。
员工信息1(员工工号,姓名,出生日期,员工类别)
员工信息2(员工工号,手机号)
员工信息3(员工工号,计薪月,被投诉次数,带团人数,月薪)
其中,带下划线的属性为相应关系模式的主键。
【答案解析】