所谓范式就是在设计关系型数据库的时候的规范,但是需要注意的是,这三个规范不是一定要遵守的,需要根据具体情况来确定。
第一范式(1NF):数据表中的字段是不可分割的,也就是说这些字段必须是不可拆分的最小单位,确保每一列的原子性。例如我们某一列为姓名,对于我们来说就是不可分割的,但是按照老外的习惯,可能需要分成姓和名。
第二范式(2NF):第二范式在第一范式的基础上更进一层,第二范式需要确保数据库表中每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。(消除了非主属性对于码的部分函数依赖。)
第三范式(3NF):满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)。(消除了非主属性对于码的传递函数依赖。)
对于括号的注解不明白可以看下面这个知乎的回答,简单易懂。