跳到主要内容

5.1 如何评判数据库设计的好坏?

  • 数据冗余程度:数据库设计应在保证语义完整性的前提下,尽量减少不必要的数据冗余。

  • 操作异常的存在性:设计应避免由于关系模式不合理而产生的操作异常,主要包括:

    • 插入异常:无法在不引入无关数据的情况下插入有效信息;
    • 删除异常:删除数据时导致其他有价值信息丢失;
    • 更新异常:同一事实多处存储,更新时可能产生不一致。
  • 函数依赖的合理性:关系模式中函数依赖应得到合理表达,非主属性不应依赖于主键的一部分或通过传递依赖主键。

  • 规范化程度(范式):数据库设计通常应至少满足第三范式(3NF),以系统性地减少数据冗余并消除操作异常。

  • 语义完整性与一致性:设计应正确反映现实世界的语义约束,确保数据在各种操作后保持一致和有效。