数据库表设计之范式解析

Love The Way You Lie 2022-06-05 08:43 176阅读 0赞

数据库表设计(3 Nomal Format )

1:概述

范式:Nomal Format 是一种离散数学中的知识,是为了解决数据的存储于优化的问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储,作用是为了减少数据的冗余

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

2:范式的分类(1NF-2NF-3NF)

1:第一范式

1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF) 只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),只要设计的是二维表就自动的满足1NF

2:第二范式

2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 通常设置一个主键(id,不含业务逻辑)满足表的记录是唯一的

3:第三范式

1:3NF是对字段冗余性的约束,它要求字段没有冗余。 没有冗余的数据库设计可以做到。

2:但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

3:如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足3NF:

Center

![Image 1][]

4:反三范式

没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

Center 1

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,176人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据库设计-------三个范式

          在数据库设计中,为了更好地实现数据库操作的高效性和便捷性,有三个范式的规则可以遵循,三个范式分别是: **        第一范式:**1NF是对属性的原...

    相关 数据库范式设计

      导语数据库的设计范式数据表中的键从 1NF 到 3NFBCNF(巴斯范式)   在日常工作中,我们都需要遵守一定的规范,比如签到大卡、审批流程等,这些规范虽然有一定等约束