【2019-2020春学期】数据库作业15:第六章: 关系数据理论
关系模式由五部分组成,是一个五元组:
R(U,D,DOM,F)
R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖
第一范式(1NF)
二维表每个分量必须是不可分开的数据项的关系模式
数据依赖
关系中属性与属性之间的约束关系,是语义的体现
主要类型:
函数依赖,多值依赖
函数依赖
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在:两个元组在X上的属性值相等,而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
若X→Y,并且Y→X, 则记为X←→Y。
若Y不函数依赖于X, 则记为X→Y。
,但 则称是非平凡的函数依赖。
,但 则称是平凡的函数依赖。
若,则X称为这个函数依赖的决定因素
若,,则记作。
若Y不函数依赖于X,则记作。
在R(U)中,如果 ,并且对于X的任何一个真子集X’, 都有 , 则称Y对X完全函数依赖,记作 。若 ,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作
在R(U)中,如果(),,,, 则称Z对X传递函数依赖。记为:。
注: 如果, 即,则Z直接依赖于X,而不是传递函数依赖。
码
设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码。如果U部分函数依赖于K,即K → U,则K称为超码 。
????候选码是最小的超码,即K的任意真子集都不是候选码。
主码:若关系模式R有多个候选码,则选定其中的一个做为主码。
主属性:包含在任何一个候选码中的属性。
非主属性:不包含在任何码中的属性。
全码:整个属性组是码
关系模式R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码也称外码。
范式
范式是符合某一种级别的关系模式的集合。
它有:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。
满足最低要求的范式是第一范式(1NF)
2NF
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF
3NF
设关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(), 使得 , 成立, 不成立,则称R<U,F> ∈ 3NF。
BCNF
设关系模式R<U,F>∈1NF,若且时X必含有码,则R<U,F>∈BCNF。换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF。
通常认为BCNF是修正的第三范式
多值依赖
设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。
平凡多值依赖和非平凡的多值依赖
若,而Z=Ф,则称为平凡的多值依赖。否则称为非平凡的多值依赖。
4NF
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖(),X都含有码,则R<U,F>∈4NF。
????如果一个关系模式是4NF, 则必为BCNF。
以上就是第六章的知识点总结了,下面是练习题。
附加题:
一.
Y(X1,X2,X3,X4)
1.侯选码?
2.属于第几范式?
二.
R(A,B,C,D)
F={,,}
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。