什么是关系数据库规范化具体步骤和目的?
- 内容介绍
- 文章标签
- 相关推荐
在实际项目中,数据库往往因业务需求变更、数据量激增或设计失误而出现冗余、更新异常、查询慢等痛点。规范化正是为了解决这些痛点,让数据结构更清晰、更一致、更高效。
一、规范化的目的:从痛点说起
1️⃣ 减少冗余重复存储相同信息会浪费空间,也会导致维护成本上升。2️⃣ 消除异常插入、更新、删除操作若触发异常,程序就容易出现不一致的数据。3️⃣ 提高查询性能合理拆分表结构可以让索引更精准,查询更快。4️⃣ 保证完整性通过主键与外键约束,确保数据之间的关联不被破坏。说起来,
二、主要步骤——如何落地规范化?
-
识别主键
每张表必须有唯一标识符,所有依赖都要指向这个主键。
-
分析函数依赖
找出哪些字段是由哪些字段决定的;如果一个非主键字段只依赖于主键的一部分,就属于“部分依赖”。
-
按范式逐级拆分表格
① 第1范式:所有列都原子化;② 第2范式:消除部分依赖;③ 第3范式:消除传递依赖;不过,④ 娱乐NF:解决非平凡函数依赖冲突;⑤ 第4范式:消除多值依赖;⑥ 第5范式:解决联合依赖。
在实际项目中,数据库往往因业务需求变更、数据量激增或设计失误而出现冗余、更新异常、查询慢等痛点。规范化正是为了解决这些痛点,让数据结构更清晰、更一致、更高效。
一、规范化的目的:从痛点说起
1️⃣ 减少冗余重复存储相同信息会浪费空间,也会导致维护成本上升。2️⃣ 消除异常插入、更新、删除操作若触发异常,程序就容易出现不一致的数据。3️⃣ 提高查询性能合理拆分表结构可以让索引更精准,查询更快。4️⃣ 保证完整性通过主键与外键约束,确保数据之间的关联不被破坏。说起来,
二、主要步骤——如何落地规范化?
-
识别主键
每张表必须有唯一标识符,所有依赖都要指向这个主键。
-
分析函数依赖
找出哪些字段是由哪些字段决定的;如果一个非主键字段只依赖于主键的一部分,就属于“部分依赖”。
-
按范式逐级拆分表格
① 第1范式:所有列都原子化;② 第2范式:消除部分依赖;③ 第3范式:消除传递依赖;不过,④ 娱乐NF:解决非平凡函数依赖冲突;⑤ 第4范式:消除多值依赖;⑥ 第5范式:解决联合依赖。

