属性(即表中字段)不能再被分割,也就是这个字段只能是一个值,不能再分为多个其他的字段了。
1NF 是所有关系型数据库的最基本要求,也就是说关系型数据库中创建的表一定满足第一范式。
2NF 在 1NF 的基础上,消除了非主属性对于码的部分函数依赖。
3NF 在 2NF 的基础上,消除了非主属性对于码的传递函数依赖。
函数依赖可分为:
关系 R 中,X、Y是属性集,X 决定 Y 的值(X->Y),且任何一个 X(子) 都没办法决定 Y 的值。
设一个学生选课信息的关系模式SC:
| SNO | CNO | CTITLE | INAME | IPLACE | GRADE |
|---|---|---|---|---|---|
| 学号 | 课程编号 | 课程名 | 授课老师 | 老师办公地址 | 成绩 |
在此关系中,(学号,课程编号)决定成绩为完全依赖。即其中的单个属性(无论是学号还是课程编号)都无法决定成绩。
关系 R 中,X、Y 是属性集,X 决定 Y 的值(X->Y),且 X 其中一个子集满足 X(子) 决定 Y 的值。
设一个学生住宿登记关系S1:
| SNO | SNAME | SSEX | SROOM |
|---|---|---|---|
| 学号 | 姓名 | 性别 | 宿舍 |
在此关系中,存在函数依赖(学号,姓名)决定性别,但其中学号就已经决定了性别,所以函数依赖(学号,姓名)决定性别就是部分依赖。
关系 R 中,X、Y、Z是属性集,X 决定 Y的值(X->Y),Y 不决定 X,Y 决定 Z 的值(Y->Z),则有 X 决定 Z(X->Z)称 Z 传递函数依赖于 X。
设一个图书的关系模式 BOOKS
| BNO | PNAME | PADDRESS |
|---|---|---|
| 图书编号 | 出版社名 | 出版社地址 |
在此关系中,一个图书编号对应一个出版社名,但一个出版社可能对应多个图书编号(一个出版社可出版多本图书),一个出版社只有一个地址,所以一个图书编号对应一个出版社地址,则有出版社地址对图书编号的传递函数依赖。