关于数据库题:设有一个记录各个球队队员每场比赛进球数的关系模式 R(队员编号,比赛场次,进球数,球队名,队长名)如果规定每个队员只能属于一个球队,每个球队只有一个队长。问题详解

首先 做这题感觉与本文给的表格联系不大,故直接来解题。

1) 写出关系模式R的基本函数依赖和主码。

Q1:队员编号->球队名;球队名->队长名;(队员编号,比赛场次)->进球数

L:队员编号,比赛场次

R:队长名,进球数

LR:球队名

队员编号+ =队员编号,球队名,队长名

(队员编号,比赛场次)+=队员编号,比赛场次,球队名,进球数,队长名

(队员编号,球队名)+ =队员编号,球队名,队长名

(比赛场次,球队名)+ =比赛场次,球队名,队长名

故根据推论关系R有唯一的候选码(队员编号,比赛场次)此时码的个数大于1 主码可选(队员编号,比赛场次)

(2) 试说明R不是2NF模式的理由,并把R分解成2NF模式

Q2:

候选码(队员编号,比赛场次) 因为其真子集 队员编号->球队名;(队员编号,比赛场次)->球队名。存在部分函数依赖 故不满足2NF。

因为主码(队员编号,比赛场次)  真子集:队员编号->球队名;此时R1(队员编号,球队名),又因为球队名属于R1且->队长名,故R1(队员编号,球队名,队长名),比赛场次->null。

故2NF模式为

R1(队员编号,球队名,队长名)

R2(队员编号,比赛场次,进球数)(说明:R减去真子集中的非主属性)

(3) R分解成3NF模式,并说明理由。

Q3:

设队员编号为A,球队名为B,队长名为C,比赛次数为D,进球数为E

且根据Q2 有R1{A,B,C};R2{A,D,E}

则有关系R(A,B,C,D,E) 且函数依赖集F为(A->B,B->C,AD->E) 

求F的最小依赖集步骤:

  1. 右边都为单属性,跳过

  2. 左边AD->E是多属性  去除A,则新函数依赖集H为(A->B,B->C,D->E)  D(F+)=D,不包含E 故A不能去

    去除D,则新函数依赖集H为(A->B,B->C,A->E) A(F+)= ABC,不包含E 故D不能去

  3. 去掉AD->E,新函数依赖集J为(A->B,B->C)  AD(J+)=ADBC 不包含E 故不能去除AD->

  4. 因此得到最小函数依赖集F为(A->B,B->C,AD->E) ,故可分解为(A,B),(B,C),(A,D,E)

  5. 三者之间不存在包含关系,故可分解为R1{队员编号,球队名};R2{球队名,队长名};R3{队员编号,比赛场次,进球次数}

  6. 故3NF模式为:

    R1{队员编号,球队名}

    R2{球队名,队长名}

    R3{队员编号,比赛场次,进球次数}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值