adjacent concept / 规范化与反规范化
Normalization and Denormalization
规范化是通过拆分表和明确依赖来减少不必要重复与更新异常;反规范化是在有明确读写权衡时主动保留部分重复。
Key fields
Identity
- Subtype
- 对比
- Parent Taxonomy
- Database Design
What
- Definition
- 规范化是通过拆分表和明确依赖来减少不必要重复与更新异常;反规范化是在有明确读写权衡时主动保留部分重复。
- Prerequisite Knowledge
- Database Design Process, Tables, Rows, Columns and Records
Why
- Core Question
- 数据应该拆到什么程度,才能减少矛盾又不让查询难以维护?
- Mechanism
- 把不同粒度的事实分开,使字段依赖于正确的键;反规范化则需要说明重复来源、同步方式和失效风险。
Where
- Manifestation
- 作者信息只保存一次,book_authors 保存关联;报表可能为读取速度保留预计算数量。
How
- Primary Use
- 检查重复事实、插入更新删除异常,并为性能或使用便利做有意识的权衡。
Evidence
- Limitations
- 范式不是越高越好,也不是只背 1NF、2NF、3NF 名称;实际取舍要结合查询、规模、并发和维护成本。
Lifecycle
- Status
- 草稿
Additional content
- Legacy Tags
- 关系型数据库 · 范式 · 案例
Relations
- Related Content
- Tables, Rows, Columns and Records
Related content
Relationships come from the local knowledge graph and include reverse links.
- Database Design数据库设计Related
研究如何把真实问题中的对象、属性和关系组织成可靠、可查询、可维护的数据结构。
- Choosing Relational or Graph Databases关系型数据库与图数据库如何选择Reverse · Related
数据库选择应根据数据结构、主要查询、完整性要求、事务边界、团队生态和运维成本做权衡,而不是根据流行程度决定。
- Constraints and Data Integrity约束与数据完整性Reverse · Related
约束是数据库强制执行的数据规则;数据完整性是数据在结构、引用、取值和业务事实上的正确性与一致性。
- Database Design Process数据库设计流程Related
数据库设计流程是把业务需求逐步转成概念模型、关系表、约束和可验证查询的过程。
- Tables, Rows, Columns and Records表、行、列与记录Related
表是同类事实的集合,行或记录是一条事实,列是这类事实的属性,单元格是某条事实在某个属性上的值。