目录

1.1 数据库三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则,在关系型数据库中这种规则就被称为范式。范式是符合某一种设计要求的总结。因此要设计一个结构合理的关系型数据库,就必须要满足下面这三大范式。

1.1.1 第一范式(不可再分)

数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。第一范式(1NF)主要是确保数据表中每个字段的值必须具有原子性,也就是说数据表中每个字段的值为不可再次拆分的最小数据单元。

1.1.2 第二范式(消除部分依赖)

第二范式(2NF)是指在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键,非主键列完全依赖于主键,而不能是依赖于主键的一部分。

1.1.3 第三范式(消除间接依赖)

在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。第三范式(3NF)是需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

小结

三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看业务需求和性能,需求>性能>表结构,所以不能一味的去追求范式建立数据库关联。要尽量遵守三范式,如果不遵守,必须有足够的理由,事实上我们经常会为了性能而妥协数据库的设计。