第一范式(确保每列保持原子性)
第一范式是最基本的范式,如果数据库表中的所有字段都是不可分解的原子值,就说明该数据库表满足了第一范式。(也就是说将数据库表中能够拆分的字段拆分出来),也提高了数据库的性能。
例如:
拆分成:如下表
第二范式(确保表中的每列都和主键相关)
第二范式在第一范式的基础上更近一层。第二范式需要确保数据表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
原表:
拆分成如下三个表:
第三范式(确保每列都和主键列直接相关,而不是间接相关)
拆分成:如下两个表