第二章 数据库关系理论
定义
关系:$D_{1}\times D_{2}\cdots D_{n}$的子集称为在域$D_{1}, \cdots, D_{n}$上的关系。表示为R($D_{1}, \cdots, D_{n}$)
关系的描述称为关系模式,它可以形式化地表示为R(U, D, DOM, F)。其中R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向与域的映像集合,F为属性间数据的依赖关系集合。
所有关系的集合构成一个关系数据库。关系数据库使用了关系模型。
关系模型的数据结构为二维表,数据操作包括查询、插入、删除与更新数据,关系的完整性约束包括实体完整性、参照完整性与用户定义完整性。
关系数据理论
预备知识
关系模式R(U, D, DOM, F)。
第一范式:关系模型的数据结构作为二维表,它的每个分量必须是不可分的数据项,满足这个条件的关系模式就属于第一范式;
函数依赖:设R(U)是属性集U上的关系模式,X、Y为U的子集。若对于R(U)的任意一个可能的关系r,若r中两个在X上的属性值相等的元组在Y上的属性值相等,则称X函数确定Y,记为$X\rightarrow Y$。
完全函数依赖:在R(U)中,若$X\rightarrow Y$,且对X中任何一个真子集SX,SX都不能函数确定Y,则称Y对X完全函数依赖。否则,称Y部分函数依赖于X
传递函数依赖:在R(U)中,若$X\rightarrow Y(Y\subsetneq X)$但Y不能决定X,$Y\rightarrow Z$,则称Z传递依赖于X。
候选码:设K为R<U,F>
中的属性或属性集合,若K能够在关系R中函数确定U,则K称为R的候选码。候选码都可以成为主码。后面将主码与候选码统称为码。
范式:关系数据库中的关系需要满足一定要求,满足不同程度的要求称为不同的范式。将第x范式记为xNF。满足第x+1范式的关系一定满足第x范式。
第二范式
定义:关系R满足第一范式,且每个非主属性完全函数依赖于任何一个候选码,则称R满足第二范式。
若关系模式不满足第二范式,则需要将其投影分解为多个关系模式。
1 | 2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖 |
第三范式
定义:关系R<U,F>
满足第一范式,若R中不存在这样的码X,属性组Y及非主属性Z($Y\subsetneq Z$),使得$X\rightarrow Y, Y\rightarrow Z$成立(Y不能函数确定X),则称R<U,F>
满足第三范式。
1 | 3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。也就是说, 如果存在非主属性对于码的传递函数依赖,则不符合3NF的要求。 |
BCNF范式
定义:关系R<U,F>
满足第一范式,若$X\rightarrow Y$且$Y\subsetneq X$时X必含有码,则称R<U,F>
满足BC范式。
1 | BCNF在3NF的基础上消除主属性对于码的部分与传递函数依赖 |