表结构的设计

Posted typical-me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表结构的设计相关的知识,希望对你有一定的参考价值。

a. 什么样的表才是符合3NF (范式)

表的范式,是首先符合1NF, 才能满足2NF , 进一步满足3NF

1NF: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF

2NF: 表中的记录是唯一的, 就满足2NF, 通常我们设计一个主键来实现

3NF: 即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足3NF

反3NF : 但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

以上是关于表结构的设计的主要内容,如果未能解决你的问题,请参考以下文章

真他妈扯淡的表结构设计

数据库表结构设计,常见的数据库管理系统

MySQL基础篇(02):从五个维度出发,审视表结构设计

MySQL基础篇(02):从五个维度出发,审视表结构设计

驰骋工作流引擎设计系列04 流程引擎表结构的设计

HBase: 表结构设计优化