第六章: 关系数据理论

一、问题的提出

数据依赖:
是一个关系内部属性与属性之间的一种约束关系;通过属性间值的相等与否体现出来的数据间相互联系;是现实世界属性间相互联系的抽象;是数据内在的性质;是语义的体现
主要类型: 函数依赖、多值依赖
1、函数依赖
【定义6.1】
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。

X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。
X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。

因为平凡函数依赖必然成立,所以我们着重讨论非平凡函数依赖
若X→Y,则X称为这个函数依赖的决定因素
若X→Y,Y→X,则记作X←→Y。
若Y不函数依赖于X,则记作X↛Y。

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作X → Y。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y。
在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖。记为:X → Z。
注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。
2、码
设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码(Candidate Key)。

如果U部分函数依赖于K,即K → U,则K称为超码
候选码是最小的超码,即K的任意真子集都不是候选码。
若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。
主属性与非主属性
包含在任何一个候选码中的属性 ,称为主属性
不包含在任何码中的属性称为非主属性

整个属性组是码,称为全码(All-key)
关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。
3、范式
范式是符合某一种级别的关系模式的集合。
包括第一范式(1NF),第二范式(2NF),第三范式(3NF),BC范式(BCNF),第四范式(4NF),第五范式(5NF)
各种范式之间存在联系:
某一关系模式R为第n范式,可简记为R∈nNF。
4、2NF
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF。
如果一个模式不属于2NF,那么会产生插入异常、删除异常、修改复杂等问题。我们需要把原关系模式分解成两个关系模式。
5、3NF
设关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ⊇ Y), 使得X→Y,Y→Z成立,Y ↛ X不成立,则称R<U,F> ∈ 3NF。
也就是不存在传递函数依赖。
6、BCNF
通常认为BCNF是修正的第三范式,有时也称为扩充的第三范式。
设关系模式R<U,F>∈1NF,若X →Y且Y ⊆ X时X必含有码,则R<U,F>∈BCNF。
换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF。
[例6.5]考察关系模式C(Cno,Cname,Pcno)

1、C只有一个码Cno,非主属性:Canme,Pcno
2、没有非主属性对Cno部分依赖或传递依赖,所以C∈3NF。
3、C中Cno是唯一的决定因素,所以C∈BCNF。
7、多值依赖
设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

平凡多值依赖和非平凡的多值依赖:
若X→→Y,而Z=Ф,则称X→→Y为平凡的多值依赖。
否则称X→→Y为非平凡的多值依赖

8、4NF
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF
如果一个关系模式是4NF, 则必为BCNF。

主要内容就这些了。我们来看一些练习题
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
一.
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
1.侯选码?
2.属于第几范式?
在这里插入图片描述
二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
1.侯选码?
2.最高属于第几范式?
三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}
1.侯选码?
2.最高属于第几范式?
四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}
1.求候选码。
2.最高属于第几范式,为什么?
3.分解到3NF。
五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。
1.求候选码。
2.R已达第几范式?为什么?
3.若不属于3NF,分解成3NF。
六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}
1.写出关键字。
2.分解到2NF。
3.分解到3NF。
4.分解到4NF。
在这里插入图片描述
在这里插入图片描述
第一题偷了个懒,直接截了图。
总的来说,我觉得难度居中和容易之间,分成两天写的,先做题,后写总结,也不知道写的对不对,老师阔以发下答案吗,嘿嘿

发布了15 篇原创文章 · 获赞 13 · 访问量 3747

猜你喜欢

转载自blog.csdn.net/wjijiu/article/details/105468489