给出上述各关系模式的主键,以及投保单关系模式的函数依赖。 分析投保单关系模式属于第几范式,并简单说明原因。修改上述关系模式,以达到4NF。

admin2009-05-15  41

问题 给出上述各关系模式的主键,以及投保单关系模式的函数依赖。
分析投保单关系模式属于第几范式,并简单说明原因。修改上述关系模式,以达到4NF。

选项

答案投保单关系模式属于是NF,该关系模式中存在数据冗余。如一个业务员的姓名、联系方式属性与其负责的投保单数量一样多。在具有多个受益人的一个投保单中,投保单的诸多属性存储多次。业务员联系方式属性依赖于业务员姓名,而不完全依赖于码(投保书号,受益人身份证),故不属于2NF。 将投保单关系模式进行如下模式分解: 投保单(投保书号,投保人客户号,被保人客户号,险种名称,业务员号,投保日期) 受益人信息(受益人号,受益人姓名,受益人身份证号码) 业务员信息(业务员号,业务员姓名,业务员联系方式)

解析 第一范式(1NF):数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
   第二范式(2NF):如果关系模式在达到1NF的基础上,使每个非主属性都完全依赖于每个关系键,则该关系模式达到2NF的要求。
   第三范式(3NF):如果关系模式属于2NF,且每个非主属性都不传递依赖于关系的任何键,则该关系模式属于3NF的要求。
   Boyce-Codd范式(BCNF):若关系符合1NF,且对于每个函数依赖X→Y,X必含有候选键,或者关系中的每个决定属性集都是候选键,则关系达到BCNF的要求。
   第四范式(4HF):如果关系模式R属于1NF,对于R的每个非平凡的多值依赖 X→→Y(Y不是X的子集),X含有码,则称R是第四范式。
   投保单中的每个分量都是不可分的数据项,因此,满足第一范式。但投保单中,业务员联系方式属性依赖于业务员姓名,而不完全依赖于码(投保书号,受益人身份证);又因:受益人姓名属性依赖与受益人身份证,而不完全依赖于码(投保书号,受益人身份证)。因此投保单不满足第二范式,即每一个非主属性完全函数依赖于码。
   若一个关系模式R不属于2NF,就会出现插入异常、删除异常、修改复杂等问题。
   为了解决投保单模式不满足2NF的问题,必须对该模式进行分解,以达到4NF。根据投保单的函数依赖:
   投保书号→(投保人客户号,被保人客户号,险种名称,业务员号,投保日期)
   受益人身份证号码→身故受益人姓名
   业务员姓名→业务员联系方式
   将投保单关系模式进行如下模式分解:
   投保单(投保书号,投保人客户号,被保人客户号,险种名称,业务员号,投保日期)
   受益人信息(受益人号,受益人姓名,受益人身份证号码)
   业务员信息(业务员号,业务员姓名,业务员联系方式)
   投保-受益信息(,受益人顺序)
   上述模式分解后,能保证在每个关系模式中,属性间无非平凡且非函数依赖的多值依赖,故达到4NF。
转载请注明原文地址:https://jikaoti.com/ti/fex7FFFM
0

相关试题推荐
最新回复(0)