文档介绍:数据库系统概论
关系数据理论
1
问题的提出(1)
关系模式:
R(U ,D, dom, F) ,其中:
U :一组属性
D: 属性组中的属性所来自的域
Dom:属性到域的映射
F:属性组上的一组数据依赖——通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。(函数依赖、多值依赖等)
2
问题的提出(2)
函数依赖(functional dependency简称 FD):指一个或一组属性的值可以决定其他属性的值。如学号决定学生的姓名。
设X,Y是关系的两个不同的属性组,如果Y函数依赖于X或X函数决定Y ,则其依赖关系可表示为。
函数依赖存在与否,完全决定于数据的语义。
3
引例(1)
设有一关系R,具有下列属性:学号(S#)、课程号(C#)、成绩(G)、TN(任课教师姓名)、教师所在系(D)。数据具有如下语义:
一个学生一个学号,一门课程一个课程号
一位学生所修的每门课程都有一个成绩
每门课程只有一位任课教师,一教师可教多门课
教师中没有重名,每位教师只属于一个系
4
引例(2)
具有的函数依赖:
F={(S#, C#) →G, C# →TN, TN →D}
可用图表示如下:
S#
C#
G
TN
D
5
引例(3)
数据冗余太大。
修改异常。如修改一门课的任课教师
由于主属性不能为空,会引起插入异常。如某系一位教师不教课,其数据便不能插入
删除异常。如所有的学生都退选某门课,必须将有关这门课的其他数据(任课教师及其所在系)删除。
6
引例(4)
缺点的产生主要来自关系的结构。该关系中包含三方面数据:成绩,开课教师和所属系。解决途径是将关系进行分解—关系规范化。
SCG(S#, C#, G)
CTN(C#, TN)
TND(TN, D)
关系规范化主要是对关系进行必要的分解,如何分解,分解后是否有损于原来的信息?
7
规范化(1)
,主要研究如何根据一个关系所具有的数据依赖情况来判定其是否具有某些不合适的性质。
对于任何一个关系,最低要求是每一个属性是不可再分的数据项,满足这个条件的关系模式即为第一范式。
按属性间依赖情况,区分关系规范化程度为1NF, 2NF, 3NF, BCNF, 4NF, 5NF。
8
函数依赖的定义
设R(U)是属性集U 上的关系模式。X,Y是U 的子集。若对于R(U) 的任意一个可能的关系r, r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖 X,记作: X→Y。
9
记号和术语
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
10