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

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

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

习题:

2、
学生:学号、姓名、出生年月、系名、班号、宿舍区
班级:班号、专业名、系名、班级人数、入校年份
系:系名、系号、系办公室地点、系人数
学会:学会名、成立年份、地点、学会人数
一个系有若干专业(设无相同专业名在不同系):专业名→→系名
每个专业每年只招一个班(设班号不同):(专业名,入校年份)←→←→班号
每个班若干学生(设学生只能属于一个班):学号→→班号
一个系的学生住同一宿舍:系名→→宿舍区
学生参加某学会有一个入会年份:(学号,学会名)→→入会年份
关系模式:
学生(学号、姓名、出生年月、班号)
候选码:学号。外部码:班号。
班级(班号、专业名、班级人数、入校年份)
候选码:班号、(专业名,入校年份)。
专业(专业名,系名)
候选码:专业名。外部码:系名。
系(系名、系号、系办公室地点、系人数,宿舍区)
候选码:系号、系名。
学会(学会名、成立年份、地点、学会人数)
候选码:学会名。
学生参加学会(学号,学会名,入会年份)
候选码:(学号,学会名)。
不存在传递函数依赖、部分函数依赖。

6、
(1)
A→→BCDE, BCDE⊈⊈A, A是码;
BC→→DE, DE⊈⊈BC, BC必含有码.
BC含有码时是BCNF。
(2)
L:C,E,C,E必为任一候选码的成员。LR:A,B,D。
(ACE)+ + =ABCDE;
(BCE)+ + =ABCDE;
(CDE)+ +=ABCDE.
码:ACE, BCE, CDE.
(3)
不存在非主属性,属于3NF.
A, BC, DE不含码,不属于BCNF。

7、
(1)正确:二目关系不存在码X、属性组Y及非主属性Z,属于3NF。
(2)正确
(3)正确:二目关系不存在多值依赖,属于4NF。
(4)正确
(5)正确
(6)正确
(7)正确
(8)错误:例:SC.(Sno,Cno)→→SC.Grade, SC.Sno↛↛SC.Grade,SC.Cno↛↛ SC.Grade

8、
(1)若R是BCNF,X →Y且Y ⊈⊈X时X必含有码,每一个决定因素都含码。
R中不存在这样的码X、属性组Y及非主属性Z(Y ⊈⊈ Z), 使得X→Y,Y→Z,Y↛↛X成立。因为每一个决定因素都含码,Y含码,Y→→X成立,是3NF。
(2)若R不属于2NF,R中有非主属性部分函数依赖于任一个候选码,
则存在X→Y(Y⊈X),Y↛↛X,Y→Z,Z⊈Y, 不属于3NF。

知识点总结
关系模式由五部分组成,是一个五元组:
R(U, D, DOM, F)

R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖

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是平凡的函数依赖。

对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。
若不特别声明, 我们总是讨论非平凡函数依赖。

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

3.在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖(transitive functional dependency)。记为:X → Z(传递)。

4.设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码(Candidate Key)。
如果U部分函数依赖于K,即K → U,则K称为超码 。
候选码是最小的超码,即K的任意真子集都不是候选码。
若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。

主属性与非主属性
包含在任何一个候选码中的属性 ,称为主属性
不包含在任何码中的属性称为非主属性

整个属性组是码,称为全码(All-key)

5.关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。

SC(Sno,Cno,Grade)中,Sno不是码
Sno是 S(Sno,Sdept,Sage)的码,则Sno是SC的外码
主码与外部码一起提供了表示关系间联系的手段

6.范式是符合某一种级别的关系模式的集合。
种类:

第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)

各种范式之间存在联系:
【2019-2020春学期】数据库作业15:第六章: 关系数据理论
某一关系模式R为第n范式,可简记为R∈nNF。

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。

7.若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF

8.关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ⊇ Y), 使得X→Y,Y→Z成立,Y ↛ X不成立,则称R<U,F> ∈ 3NF。

9.设关系模式R<U,F>∈1NF,若X →Y且Y ⊆ X时X必含有码,则R<U,F>∈BCNF。
换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF。

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

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

如果一个关系模式是4NF, 则必为BCNF。

12.关系模式规范化的基本步骤

1NF 消除非主属性对码的部分函数依赖

2NF 消除非主属性对码的传递函数依赖

3NF 消除主属性对码的部分和传递函数依赖

BCNF 消除非平凡且非函数依赖的多值依赖

4NF