第四章 规格化过程
1.规格化数据库
规格化就是去除数据库里冗余数据的过程,在设计和重新设计数据库时使用。它是一组减少数据冗余来优化数据库的指导方针,具体的方针被称为规格形式。对于初学者来说过于复杂。
2.原始数据库,数据库的逻辑设计(逻辑建模)(应该减少甚至完全消除数据重复)
3.规格形式:
规格形式是衡量数据库被规格化级别(或深度)的一种方式。数据库的规格化级别是由规格形式确定的。
4.最常见的3中规格形式:
(1)第一规格形式
第一规格形式的目标是把原始数据分解到表中。在所有表都设计完成之后,给大多数表或全部表设置一个主键。
概念:主键也可以由表里的多个列组成。自然主键:数据库自然产生的具有逻辑意义的数据,例如书名和ISBN编号。
(2)第二规格形式
第二规格形式的目标是提取对主键仅有部分依赖的数据,把它们保存到另一个表里。
第二规格形式是以第一规格形式为基础,把两个表进一步划分为更为明确的单元。
(3)第三规格形式
第三规格形式的目标是删除表里不依赖于主键的数据。
5.命名规范
6.规格化的优点
- 更好的数据库整体组织性
- 减少冗余数据
- 数据库内部的数据一致性
- 更灵活的数据库设计
- 更好的处理数据库安全
- 加强引用整体性的概念
引用的完整性一般是通过主键和外键来控制的。
规格化过程把数据从逻辑上分解为由主键引用的子集,从而有助于加强和坚持这种约束。
7.规格化的缺点:
降低数据库性能
8.去规格化数据库
去规格化是修改规格化数据库的表的构成,在可控制的数据冗余范围内提高数据库的性能。
尝试提高性能是去规格化数据库的唯一原因。去规格化的数据库与没有进行规格化的数据库不一样,去规格化是在数据库规格化基础上进行一些调整,因为规格化的数据库需要频繁的进行表的结合而降低了性能。去规格化会把一些独立的表结合成在一起,或是创建重复的数据,从而减少在数据检索时需要结合的表的数量,进而减少所需的I/O和CPU时间。
Q:数据库问题需要进行一定程度的规格化,但到什么程度才不至于严重影响性能呢?
这篇博客探讨了数据库规格化的三个主要阶段——第一、第二和第三规格形式,旨在减少冗余数据,增强数据一致性和引用完整性。规格化虽然提高了数据库的组织性和安全性,但也可能导致性能下降。去规格化作为应对策略,通过接受一定范围内的数据冗余来提升性能,但需谨慎操作以平衡性能和冗余。
3658

被折叠的 条评论
为什么被折叠?



