5.1 如何评判数据库设计的好坏?
-
数据冗余程度:数据库设计应在保证语义完整性的前提下,尽量减少不必要的数据冗余。
-
操作异常的存 在性:设计应避免由于关系模式不合理而产生的操作异常,主要包括:
- 插入异常:无法在不引入无关数据的情况下插入有效信息;
- 删除异常:删除数据时导致其他有价值信息丢失;
- 更新异常:同一事实多处存储,更新时可能产生不一致。
-
函数依赖的合理性:关系模式中函数依赖应得到合理表达,非主属性不应依赖于主键的一部分或通过传递依赖主键。
-
规范化程度(范式):数据库设计通常应至少满足第三范式(3NF),以系统性地减少数据冗余并消除操作异常。
-
语义完整性与一致性:设计应正确反映现实世界的语义约束,确保数据在各种操作后保持一致和有效。