数据库设计三范式(理解只需五分钟)

简介: 误区:并不是非得严格按照三范式来设计,好的数据库设计一定不是这样的,而是根据实际情况柔性处理

第一范式


属性(字段)的原子性约束,要求属性具有原子性,不可再分割;

比如个人信息,个人信息不能作为一个字段,它可以再分为姓名、name、age等;


第二范式


记录的惟一性约束,要求记录有惟一标识,每条记录需要有一个属性来做为实体的唯一标识;


第三范式


字段冗余性的约束,即任何字段不能由其他字段派生出来;主键没有直接关系的数据列必须消除,消除的办法就是再创建一个表来存放他们,当然外键除外;


误区


并不是非得严格按照三范式来设计,好的数据库设计一定不是这样的,而是根据实际情况柔性处理


比如公司资产清点表:

名称、单价、数量、总价;

这显然是违背了第三范式的,因为总价可以由单价*数量得出


但是实际生产中,三范式只是作为参考,像以上的表设计是可以接受的,我们可以直接查出总价,不用再单独计算,就多了一个字段而已,从而节约了开发成本。


相关文章
|
7月前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
184 0
|
4月前
|
存储 数据库
数据库设计三范式
三范式设计的最终目的都是为了减少我们的工作量,所以说,尽管三范式是一种很好的指导规范,但在实际应用中,我们也不需要太局限在三范式中,更多的是应该从项目中出发,设计出合理的表结构。
|
1月前
|
存储 数据库
数据库设计三范式
数据库设计三范式
30 0
|
4月前
|
存储 算法 Java
数据库范式与设计原则
数据库范式与设计原则
75 0
|
5月前
|
存储 关系型数据库 数据库
关系型数据库设计范式:深入理解与实践
【7月更文挑战第20天】关系型数据库设计范式是数据库设计中的重要指导原则,它通过一系列规范来减少数据冗余、提高数据一致性和优化查询性能。在实际应用中,我们应该根据具体需求和数据特点,灵活选择和应用不同的范式级别,以构建高效、可靠和可扩展的数据库系统。同时,也需要注意范式设计带来的挑战和限制,根据实际情况进行权衡和调整。
|
5月前
|
存储 Java 数据库连接
数据库三范式详解及应用
数据库三范式详解及应用
|
5月前
|
存储 Java 数据管理
数据库三范式设计与规范化过程详解
数据库三范式设计与规范化过程详解
|
5月前
|
存储 SQL 关系型数据库
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
|
7月前
|
存储 关系型数据库 数据库
关系型数据库设计规范第一范式(1NF)
【5月更文挑战第14天】关系型数据库设计规范第一范式(1NF
244 8