数据库习题(六):关系数据理论

关系数据理论知识习题

一、理解并给出下列术语的定义

二、有关系模式R(A,B,C,D,E),回答下面各个问题:

三、考虑关系模式R(A,B,C,D),写出满足下列函数依赖时R的码,并给出R属于哪种范式(1NF、2NF、3NF或BCNF)。


一、理解并给出下列术语的定义

函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(all-key)、1NF、2NF、3NF、BCNF。

  函数依赖

设R(U)是属性集上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y,或Y函数依赖于X,记作X→Y。

  部分函数依赖

在R(U)中,如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。

  完全函数依赖

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有Y不函数依赖于X’,则称Y对X完全函数依赖

  传递依赖

在R(U)中,如果X→Y(Y不属于X),X不函数依赖于Y,Y→Z(Z不属于Y)则称Z对X传递函数依赖

U是完全函数依赖于K,而不是部分依赖于K。若U部分依赖于K,则K称为超码。候选码是最小的超码。

  候选码

设K为R<U,F>中的属性或者属性组合,若U完全函数依赖于K,则K为R的候选码

  主码

若候选码多余一个,则选定其中的一个为主码

  外码

关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码

  全码

关系模式R中整个属性组是码,称为全码

  1NF

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)

  2NF

若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF

  3NF

设关系模式R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集),使得X→Y,Y→Z成立(X不函数依赖于Y),则称R∈3NF

  BCNF

关系模式R<U,F>∈1NF,若X→Y且Y不属于X时,X必含有码,则R∈BCNF。


二、有关系模式RA,B,C,D,E,回答下面各个问题:

 

       1、若A是R的候选码,具有函数依赖BC→DE,那么在什么条件下R是BCNF?

       由定义得,属性组BC含有码时,R是BCNF。BCNF的所有决定性因素都含有码,所以BC应该含有码。

       2、如果存在函数依赖A→B,BC→D,DE→A,列出R所有码。

       R的所有码:ACE、BCE、CDE

       由函数依赖关系A→B,BC→D,DE→A可得,A可以决定B,加上C决定D,再加上E可得R,故第一组ACE。由BC可决定D,加上E可决定A,亦可得R,第二组BCE。由DE可决定A,B传递依赖于DE,加上C可得R,第三组即CDE。

       3、如果存在函数依赖A→B,BC→D,DE→A,R属于3NF还是BCNF。

       R属于3NF,不属于BCNF

       ABCDE都是主属性,BCNF中不存在主属性对码的部分依赖。在R中的函数依赖中决定性因素不包含码。


三、考虑关系模式RA,B,C,D,写出满足下列函数依赖时R的码,并给出R属于哪种范式(1NF2NF3NFBCNF)。

  • B→D,AB→C

    码:AB;1NF(存在D对AB的部分函数依赖)

  • A→B,A→C,D→A

    码:D;2NF(不存在部分依赖,存在传递依赖)。

  • BCD→A,A→C

    码:ABD、BCD;3NF(不存在非主属性对码的部分依赖或传递函数依赖,但A是决定因素不含码)。

  • B→C,B→D,CD→A

    码:B;2NF(不存在部分依赖,存在传递依赖)。

  • ABD→C

    码:ABD;BCNF(不存在部分依赖和传递依赖)。

 

判断依据(几个范式的定义及规范过程):

1NF若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)

2NF若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF

3NF设关系模式R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集),使得X→Y,Y→Z成立(X不函数依赖于Y),则称R∈3NF

BCNF关系模式R<U,F>∈1NF,若X→Y且Y不属于X时,X必含有码,则R∈BCNF。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值