我们在设计数据库时,常常为避免插入异常、更新异常而极力地遵循到第三范式。然而实际上在业务规则比较特殊的情况下却未必需要如此地遵守。例如在一张销售信息表中存储了销售信息和客户名称字段。在很多人看来这是违反第三范式的。然而,仔细来看在客户名称发生变化这种情况在客观世界中一般需要在工商等部门审批后才能生效的,而查阅以前的销售信息应该还是以前的客户名称。这样就保证了历史数据的可追溯性。
      所以在这种就不存在更新异常的问题了,同时在牺牲少量空间的前提下保证了时间效率又满足了业务,何乐而不为!