文档介绍:第6章关系数据理论
1
问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数据模式
数据库逻辑设计的工具──关系数据库的规范化理论
2
关系模式简记为:
R(A1,A2,…,An)
形式化表示为:
五元组 R( U, D, dom,F)
关系名
属性集合
域集合
属性向域的映象集合
属性间数据的依赖关系集合
例子:选修关系可简记为:SC(o,G)
形式化表示为:
SC ( U, D, dom,F)
U={o,G}
D={字符型,数值型}
dom(Sno)=o)=字符型; dom(G)=数值型;
F={(o)G}
三元组 R( U, F)
3
数据依赖
是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系
是现实世界属性间相互联系的抽象
是数据内在的性质
是语义的体现
数据依赖的类型
函数依赖(Functional Dependency,简记为FD)
多值依赖(Multivalued Dependency,简记为MVD) 例如:p179
4
实例:要求设计一个教学管理数据库,面临的对象有:
学生:用学号Sno描述. 系:用系名Sdept描述
系主任:用姓名Mn描述. 课程:ame描述
成绩:用分数G描述
U={Sno,Sdept,ame,G}
由现实世界已知:
①一个系有若干学生,但一个学生只属于一个系.
②一个系只有一名系主任.
③一个学生可以选修多门课程,每门课程有若干学生选修.
④每个学生学习每一门课程有一个成绩.
F={SnoSdept,SdeptMn,(ame)G}
5
Sno
Cname
Sdept
Mn
G
函数依赖图:
这个教学管理数据库模式S(U,F)有以下三个“毛病”: p171
(1)插入异常
(2)删除异常
(3)冗余太大
把模式S(U,F)分解为三个模式:( 称为规范化的过程)
S(Sno, Sdept, SnoSdept)
Sg(Sno, Cname, G, (ame)G)
Dept(Sdept ,Mn , SdeptMn)
6
一对一联系
一对多联系
多对多联系
例如:
S(U,F)
U={Sno,Sdept,ame,G}
7
定义:设R(U),(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记为XY.
例子:
R(Sno,Sdept,ame,G)
SnoSdept
SdeptMn
(ame)G
MnSdept
Sno
G
Cname
G
在一个关系模式中设有属性集X,Y:
如果X与Y是
一对一联系
XY , YX
一对多联系
YX
多对多联系
XY , YX
8
一些符号:
XY,但Y
X则称XY是非平凡的函数依赖.
★
例子:
R(Sno,Sdept,ame,G)
(ame)Cname
(ame)G
XY,但Y
X则称XY是平凡的函数依赖.
★
平凡函数依赖
非平凡函数依赖
★
若XY,则X称为决定因素.
★
若XY,YX,则记为XY
例子: SdeptMn
★
若Y函数不依赖于X,则记为XY
例子:
Sno
G
Cname
G
9
Sc(o,Grade)
定义:在R(U)中,如果XY,并且对于X的任何一个真子集,
都有Y,则称Y对X完全函数依赖,记为
若XY,但Y不完全函数依赖于X,则称Y对X部分函
数依赖,记为
例子:
R(Sno,Sname,Sage,Sdept)
10