【2019-2020春学期】数据库作业15:第六章: 关系数据理论

关系数据理论总结

函数依赖:
设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,但Y⊈X则称X→Y是非平凡的函数依赖。
X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ Y, 则称Y对X完全函数依赖,记作
X F \underrightarrow{F} Y。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X P \underrightarrow{P} Y

举个例子:
( S n o , C n o ) F G r a d e (Sno,Cno) \overset F \rightarrow Grade 是完全函数依赖
( S n o , C n o ) P S d e p t (Sno,Cno) \overset P \rightarrow Sdept 是部分函数依赖

在R(U)中,如果X→Y(Y⊈X),Y X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖。记为:X → Z。
注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。

举个例子:关系Std(Sno,Sdept,Mname)中
Sno→ Sdept,Sdept→ Mname。Mname传递函数依赖于Sno

设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码
如果U部分函数依赖于K,即K → U,则K称为超码
候选码是最小的超码,即K的任意真子集都不是候选码。
若关系模式R有多个候选码,则选定其中的一个做为主码
包含在任何一个候选码中的属性 ,称为主属性
不包含在任何码中的属性称为非主属性
整个属性组是码,称为全码
关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码也称外码

范式

范式是符合某一种级别的关系模式的集合
满足最低要求的就叫第一范式,简称1NF。一个低一级范式的关系模式通过模式分解,可以转化为若干个高一级范式的关系模式的集合,这种过程就叫规范化
5NF \subset 4NF \subset BCNF \subset 3NF \subset 2NF \subset 1NF

2NF若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2N
举个例子:S-L-C(Sno,Sdept,Sloc,Cno,Grade),其中Sloc为学生的住处,并且每个系的学生住在同一个地方。S-L-C的码为(Sno,Cno)。
其中的非主属性Sloc,Sdept并不是完全依赖于码。所以这个关系模式不是2NF

3NF设关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ⊇ Y), 使得X→Y,Y→Z成立,Y X不成立,则称R<U,F> ∈ 3NF。
如果一个关系模式是3NF,那么这个关系模式也是2NF

BCNF设关系模式R<U,F>∈1NF,若X →Y且Y ⊆ X时X必含有码,则R<U,F>∈BCNF。
换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF。
一个满足BCNF的关系模式有:所有非主属性对每一个码都是完全函数依赖;所有主属性对每一个不包含它的码也是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性
例:关系模式C(Cno,Cname,Pcno),该关系模式只有一个码Cno,这里的非主属性Cname和Pcno不对Cno部分依赖或者是传递依赖,所以C∈3NF.同时Cno是C的唯一的决定因素,所以C∈BCNF

多值依赖: 设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为非平凡的多值依赖。

多值依赖的性质:
多值依赖具有对称性,即若X→→Y,则X→→Z,其中Z=U-X-Y
多值依赖具有传递性。即X→→Y,Y→→Z,则X→→Z-Y
函数依赖可以看成是多值依赖的特殊情况,即若X→Y,则X→→Y
若X→→Y,X→→Z,则X→→YZ
若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y
若X→→Y,X→→Z,则X→→Y-Z,X→→Z \bigcap Y
多值依赖与函数依赖相比,具有两个基本的区别:
(1)多值依赖的有效性与属性集的范围有关
(2)若函数依赖X→Y在R(U)上成立,则对于任何Y’ \subset Y均有X→Y’ 成立。而多值依赖X→→若在R(U)上成立,却不能断言对于任何Y’ \subset Y有X→→Y’成立

4NF:
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。
如果一个关系模式是4NF, 则必为BCNF。
4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

规范化小结:
规范化的基本思想就是逐步消除数据依赖中不合适的部分。
在这里插入图片描述
关系模式的规范化过程是通过对关系模式的分解来实现的,即把低一级的关系模式分解成若干个高一级的关系模式。

课后作业:

在这里插入图片描述
(1)关系模式
学生:
Student(Sno,Sname,Sbirth,Dept,Class,Rno)
班级:
C(Class,Cname,Dept,Cnum,Cyear)
系:
D(Dept,Dno,Office,Dnum)
学会:
M(Mname,Myear,Maddr,Mnum)
(2)关系模式的极小依赖函数
1.学生关系模式:
Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,Dept→Rno
存在传递函数依赖:
Sno→Class,Class→Dept,Dept→Rno
Class→Dept,Dept→Class,Dept→Rno
Sno→Class,Class→Sno,Class→Dept
2.班级关系模式:
Class→Cname,Class→Dept,Class→Cnum,Class→Cyear,Cname→Dept
存在传递函数依赖:
Class→Cname,Cname→Class,Class→Dept
3.系关系模式:
Dno→Dept,Dept→Dno,Dno→Office,Dno→Dnum
不存在传递函数依赖
4.学会关系模式:
Mname→Myear,Mname→Maddr,Mname→Mnum
不存在传递函数依赖
(2)
1.学生关系模式:
候选码:Sno
外部码:Dept,Class
无全码
2.班级模式:
候选码:Class
外部码:Dept
无全码
3.系关系模式:
候选码:Dno,Dept
外部码:无
无全码
4.学会关系模式:
候选码:Mname
外部码:无
无全码
在这里插入图片描述
6:
(1)A→BC,BC→A
(2)ACE,BCE,CDE
(3)3NF
7:
(1)T
(2)T
(3)T
(4)F,当且仅当函数依赖A→→B在R上成百立,关系R(A,B,C)等于其投影R1(A,B)和度R2(A,C)的连接。
(5)T
(6)T
(7)T
(8)F,例SC.(Sno,Cno)→SC.Grade,SC.Sno SC.Grade,SC.Cno Grade

8:
(1)设X为码,Y为属性组,Z为非主属性。
假设R是BCNF关系模式,所以X→Y且Y ⊈X时X必含有码
R中使得X→Y,Y→Z成立,Y X不成立,所以R∈3NF。
(2)
若R为3NF,那么X→Y,Y→Z成立,Y X不成立,此时的每一个非主属性都完全函数依赖于任何一个候选码,所以此时R也为2NF
在这里插入图片描述

【注】
AB→D 等价于 (A,B)→ D
D→BF 等价于 D→B, D→F
附加题:(选做)
一.
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
1 侯选码?
2 属于第几范式?
解:
因为X2→X4,所以(X1,X2)→X4;
又因为(X1,X2)→X3,所以(X1,X2)→(X1,X2,X3,X4)。
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2)→X4, X2→X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。
二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
1 侯选码?
2 最高属于第几范式?
解:
由题意知:(A,B)→D,(A,C)→B,(A,C)→D,B→C
因为(A,C)→B ,(A,B)→D
所以(A,C)→(A,B,C,D)
又因为(A,B)→D,B→C,
所以(A,B)→(A,B,C,D)
因此候选码为(A,B)和(A,C)
其中D为非主属性
因为(A,B)→D,不存在非主属性对候选码的部分函数依赖,所以属于2NF
结论:候选码(A,B)或者(A,C),属于第二范式
三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}
1 侯选码?
2 最高属于第几范式?
解:
由题意知:Y→W,W→Y,(X,Y)→Z
因为(X,Y)→Z,Y→W
所以(X,Y)→(X,Y,Z,W)
因为(X,W)→Y,(X,Y)→Z
所以(X,W)→(X,Y,Z,W)
因此候选码为(X,Y)和(X,W)
其中Z为非主属性
因为(X,Y)→Z,不存在非主属性对候选码的部分函数依赖,所以属于2NF
结论:候选码为(X,Y),属于第二范式

四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}
1.求候选码。
2. 最高属于第几范式,为什么?
3. 分解到3NF。
解:
(1)
由题意可知A→B,(C,E)→A,E→D
因为(C,E)→A,E→D,A→B
所以(C,E)→(A,B,C,D,E)
以此(C,E)为候选码
(2)
因为E→D,存在非主属性W对候选码(C,E)的部分函数依赖,所以不属于2NF
结论:候选码(C,E),属于第一范式
(3)
R1(A,B)
R2(E,D)
R3(A,C,E)

五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。
1 求候选码。
2 R已达第几范式?为什么?
3 若不属于3NF,分解成3NF。
解:R(Ano,Bno,Num,Cno,Name)
(1)
由题意知:(Ano,Bno)→Cno,(Ano,Cno)→Name,(Ano,Bno)→Num;
因为(Ano,Bno)→Cno,(Ano,Bno)→Num,(Ano,Cno)→Name
所以(Ano,Bno)→(Ano,Bno,Num,Cno,Name)
所以(Ano,Bno)为候选码
非主属性为Num,Cno,Name
(2)
非主属性为Num,Cno,Name
因为(Ano,Bno)→Cno,(Ano,Bno)→Num,(Ano,Cno)→Name,不存在非主属性对候选码(Ano,Bno)的部分函数依赖,所以为第二范式
(3)
R1(Ano,Bno,Num,Cno)
R2(Ano,Cno,Name)
六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}
1 写出关键字。
2 分解到2NF。
3 分解到3NF。
4 分解到4NF。
解:
(1)
由题意知:A→C,(A,B)→D,C→E,D→B,D→F
因为(A,B)→D,D→F,A→C,C→E
所以(A,B)→(A,B,C,D,E,F)
因为A→C,D→B,D→F,C→E,(A,B)→D
所以(A,D)→(A,B,C,D,E,F)
所以(A,B)和(A,D)为候选码
C,E,F为非主属性
(2)
消除非主属性对码的部分函数依赖
R1(A,B,D,F)R3(A,C,E)
(3)
消除非主属性对码的传递函数依赖
R1(A,B,D)R2(D,F),R3(C,E),R4(A,C)
(4)
消除非平凡且非函数依赖的多值依赖
R1(A,B,D)R2(D,F)R3(C,E),R4(A,C)

发布了121 篇原创文章 · 获赞 28 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44652687/article/details/105405842