文章目录
  1. 定义
  2. 关系数据理论
    1. 预备知识
    2. 第二范式
    3. 第三范式
    4. BCNF范式
    5. 小结
  3. 参考链接

定义

关系:$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的基础上消除主属性对于码的部分与传递函数依赖

小结

参考链接

数据库的范式