1.第一范式(1NF)
第一范式(1NF)是指数据库表中的每一列都是不可分割的技术数据项。同一列中不能有多个值,即实体中的某个属性不能有多个值,或者不能有重复的属性简而言之就是无重复的列
例如: 由 "姓名"、"联系方式"。联系方式 包含手机号和邮箱 如果按照第一范式需要规范为( 姓名、手机、邮箱)。
2.第二范式(2NF)
第二范式在第一范式基础上要求每个数据库表中的每个实例或者行都能被唯一的区分。为实现要求通常需要为表加主键标识。
例如: 选课关系表(学号、课程号、成绩、课程分) 但由于 课程分依赖于课程号,成绩依赖于学号。课程分和学号关系不大但是课程分的变更主表。解决方法是 拆分成 学生表(学号,课程号,成绩) 和(课程号,课程分)。 通过课程号外键关联。
3.第三范式(3NF)
如果关系模型R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。
以学生表(学号,姓名,课程号,成绩)为例,其中学生姓名无重名,所以该表有两个候选码(学号,课程号)和(姓
名,课程号),故存在函数依赖:学号——>姓名,(学号,课程号)——>成绩,唯一的非主属性成绩对码不存在部分
依赖,也不存在传递依赖,所以属性属于第三范式。