生产加工合同范本:数据库一题,第三问不会,求助 谢谢!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 11:07:54
问题:
设有一个记录各个球队队员每场比赛进球数的关系模式R(队员编号,队员姓名,比赛场次,进球数,球队名,教练)。其中队员编号和队员姓名都不相同,每个队员只能属于一个球队,每个球队只有一个教练。
试求:

1) 说明R不是2NF的理由,并将R分解成2NF模式集,写出分解过程。
2) 再将上述结果分解成达到3NF的模式集,写出分解过程。
3) 再将上述结果分解成达到BCNF的模式集,写出分解过程。

解:(1) R中存在下面两个FD:
(队员编号,比赛场次)->(球队名,教练)
队员编号 ->(球队名,教练)
显然,其中第一个FD是一个局部依赖,因此R不是2NF模式。
对R应该进行分解,由第二个FD的属性可构成一个模式,即
R1(队员编号,球队名,教练);
另一个模式由R的属性集去掉第二个FD右边的属性组成,即
R2(队员编号,比赛场次,进球数)。
R1和R2都是2NF模式,因此ρ={ R1,R2 }

(2) R2(队员编号,比赛场次,进球数)中,FD是(队员编号,比赛场次)->进球数,关键码为(队员编号,比赛场次),可见R2已是3NF模式。
R1(队员编号,球队名,教练)中,FD有两个:
队员编号->球队名
球队名->教练
关键码为队员编号,可见存在传递依赖,因此R1不是3NF模式。
对R1应分解成两个模式:R11(队员编号,球队名),R12(球队名,教练)。这两个模式都是3NF模式。
因此,R分解成3NF模式集时,ρ={ R11,R12,R2 }。