数据库中为什么要对关系模式进行规范化?

我上周读了一本数据库书。
关系模型的标准化非常重要。

其目的是使结构更加合理。
清除存储异常。
数据冗余应尽可能小。
插入、删除、更新都很方便。

原则是概念简单。
“一物一处”原则。
关系模式描述实体或关系。
本质是概念的简化。

该方法是投影分解。
在两种或多种关系模式中。

要求是分解后它们应该是等价的。
自然关系可以恢复原来的关系。
没有任何信息丢失。
保持属性之间正确的关系。

注意分解方法并不唯一。
必须满足最小冗余。
分解后的数据库可以表达所有的信息。

基本目标是节省空间。
避免数据不一致。
提高运营效率。
满足申请要求。

其实,你不需要去BCNF。
有时会保留一些冗余以方便审讯。
特别是更新很少、查询很多的系统。
这取决于你。

规范化,从为什么要规范化,到范式的判断,分解

标准化意味着改变沟通模式。
分解通信模式以消除不适当的依赖关系。
解决插入异常、删除异常、更新异常、数据重复等问题。

建立数据库应该遵循范式规则。
在关系数据库中,范式就是规则。
一般来说,第三范式(3 NF)就足够了。

第一范式(1 NF):表的每一列都是不可分割的。
同一列不能有多个值。
实体属性不能是多值的。

第二范式 (2 NF):基于 1 NF。
表的每一行必须单独标识。
第 1 个 N.F.
第三范式(3 NF):基于2 NF。
该表不包含其他表已包含的非主键信息。
首先,满足2 NF。

说白了,就是一个分层的标准。
首先,检查列的内部原子性。
然后检查行间距。
最后,确保字段之间的低依赖性。