数据库三大设计范式
设计范式
建立冗余较小、结构合理的数据库,在设计数据库时需要遵循一定的规则。在关系型数据库中这种规则就称为范式。
在实际开发中最为常见的设计范式有三个:范式的名称不重要,重要的是范式想表达的设计思想。
第一范式
- 表中每个字段都是原子性的,即每个字段存放的数据已经不能再进一步拆分
- 通俗的理解是,字段还可以再分吗?如过不能,则是符合第一范式(1NF)的设计。
第二范式
- 一张表中主键唯一性约束,也就是说一个表中只保存一种数据,不要把多种数据保存在同一张表中。
- 通俗理解,一个表负责一件事的记录,不要把两件事搅在一起。
第三范式
- 非主键字段冗余性的约束,即非主键字段之间不要存在直接或间接的关系。
- 通俗理解就是,比如评论表,如果你将用户ID,用户头像都放在这留言表中,就是不合适的了。用户头像是依赖于用户ID,而不依赖该评论。
总结
对数据库表的设计范式的理解需要长期的开发设计经验,刚开始接触数据库时,我们需要知道有哪些设计范式,了解这些范式的目的是什么,然后在实际工作中慢慢理解它。