M公司为某旅游公司设计机票销售专用数据库,其关系模式如图4-1所示。 关系

题库2022-08-02  31

问题 M公司为某旅游公司设计机票销售专用数据库,其关系模式如图4-1所示。关系模式的主要属性、含义及约束如表4-1所示,属性间的函数依赖关系如图4-2所示,属性间函数依赖的标记方法如图4-3所示。旅客旅行前需要向旅行社提出申请,说明要参加的旅行团队。旅行社建立的旅行申请包括,旅行出发日期和到达日期的机票预订、购票等信息。旅行社还需要为每个团队制定‘旅程”和“搭乘航班”表。有关“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。【问题1】对关系“航班”,请回答以下问题:(1)列举出所有不属于任何候选键的属性(非键属性)。(2)关系“航班”可达到第几范式,用不超过60个字的内容叙述理由。【问题2】对关系“旅客”,请回答以下的问题:(1)针对“旅客”关系,用100字以内文字简要说明会产生什么问题,并加以修正。(2)列出修正后的关系模式的所有候选键。(3)把“旅客”分解为第三范式,并用图4-1所示的关系模式的形式表示,分解后的关系名依次取旅客1、旅客2、…。【问题3】对关系“搭乘航班”,请回答以下的问题:(1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。(2)关系“搭乘航班”是boyce codd范式而不是第四范式,请用200字以内文字阐述理由。(3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。

选项

答案

解析 [问题1]投保单:(投保书号,受益人身份证号码)客户信息:客户号缴费记录:(投保书号,缴费月份)险种信息:险种名称投保单关系模式的函数依赖:F1=(投保书号,受益人身份证号码)→(投保人客户号,被保人客户号,险种名称,受益顺序,业务员姓名,业务员联系方式,投保日期)F2=投保书号→(投保人客户号,被保人客户号,险种名称,业务员姓名,业务员联系方式,投保日期)F3=受益人身份证号码→身故受益人姓名F4=业务员姓名→业务员联系方式

[问题2](1)投保单关系模式存在更新异常。该关系模式存在冗余数据,修改数据时可能会引起修改异常,例如当业务员的联系方式发生变化时,他所负责的每一个投保单里面的业务员联系方式必须更新,如果部分更新,部分不更新,则会产生修改(更新)异常;当一个业务员还没有任何投保单时,他的数据将不能插入数据库,即存在插入异常;当一个投保单记录删除了之后,对应的业务员信息也丢失了,即存在删除异常。

(2)投保单关系模式存在多值依赖,一个特定的投保单对应多个受益人。

[问题3]投保单关系模式属于1范围(或1NF),该关系模式存在数据冗余。例如一个业务员的姓名、联系方式属性与其负责的投保单数量一样多。在具有多个受益人的一个投保单中,投保单的诸多属性存储多次。关系模式还存在上题所说的更新异常和多值依赖。其函数依赖存在非主属性部分依赖于码,故不屑于2范式(或2NF)。

将投保单关系模式进行如下模式分解:投保单(投保书号,投保人客户号,被保人客户号,险种名称,业务员号,投保日期)受益人信息(受益人号,受益人姓名,受益人身份证号码)业务员信息(业务员号,业务员姓名,业务员联系方式)投保-受益信息(投保书号,受益人号,收益人顺序)上述模式分解后,能保证在每个关系模式中,属性间无非平凡且非函数依赖的多值依赖,故达到了4范式(或4NF)。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2419012.html

最新回复(0)