Refinement without Specification
16 hours ago
- 精化允许通过映射函数改变数据库模式或行为,同时保持外部属性不变。
- 示例1:将 is_activated 布尔列迁移为可空的 activated_at 列,使用精化映射保持兼容性。
- 示例2:切换到使用 user_events 表的事件溯源模型,通过映射从事件计算 activated_at。
- 精化仅在特定约束(如可变性规则)被尊重时保持外部属性。
- 当存在约束如 C1(禁止停用)时,如果新模型允许停用(例如通过事件),精化可能会失败。
- 精化是一个强大但难以学习的形式化方法概念;在熟悉的数据库上下文中引入它可能有所帮助。
- 精化映射与数据库视图相关,因为两者都抽象底层数据以实现兼容性。