概念:(本质是合理拆分表)
设计数据库时需要遵循的规范
要遵循后面的范式要求,必须遵循前面的所有范式要求。
分类
1、第一范式 每一列都是不可分割的原子数据项
2、第二范式 :在第一范式基础上,消除部分依赖 函数依赖 :A–>B,如果可以通过A的属性( 属性组 )的值可以确定唯一B属性的值。则称B依赖于A。
如: 学号–>姓名 (学号,课程)–>分数
完全函数依赖 A–>B:如果A是一个属性组,则B属性值的确定需要依赖A属性组中所有的属性值。 (学号,课程)–>分数
部分函数依赖 A–>B:如果A是一个属性组,则B属性值的确定只需要依赖A属性组中某一些值即可。 (学号,课程)–>姓名
传递函数依赖 A–>B,B–>C , 如果可以通过A的属性( 属性组 )的值,可以确定唯一B属性的值,再通过B的属性( 属性组 )的值,可以确定唯一C属性的值,则称C传递函数依赖于A。
学号 --> 系名 --> 系主任
码 在一张表中,一个属性或属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为该表的码 主属性:码属性组中所有属性 非主属性:除过码属性组的属性
3、第三范式 在第二范式基础上,任何非主属性不依赖于其他非主属性 (在第二范式基础上消除传递依赖)
|