数据库如何处理实施新组织策略的要求。这可能会使过时的有效约束过时,并且可能在未来需要新的数据约束。
如果我们根据新政策更改此类约束和关键结构,旧政策数据将如何保持其完整性?
那么最佳做法是什么?每个新策略实现都有单独的数据库。并建立一个数据仓库?
答案 0 :(得分:2)
不幸的是,SQL DBMS并不擅长实现数据完整性规则。例如,ISO标准SQL具有ASSERTION约束的概念,但SQL Server和大多数其他DBMS不实现它。由于标准SQL缺乏对多重赋值的支持,因此表之间的约束受到严重限制。 SQL通常只允许一次更新一个表,这使得很难实现包含依赖性和连接依赖性。
这些限制意味着业务规则倾向于在过程代码(存储过程)中或在数据库之外完全实现:使用数据质量工具,规则引擎或异常报告。当规则随时间变化时,这些工具往往会更好地支持版本控制。