Anchor Modeling中的非破坏性模式演化是什么意思?

时间:2012-06-16 18:25:06

标签: database-design database-schema anchor-modeling

假设您有一个Anchor Model并使用三个属性替换单个Name属性:FirstName,MiddleName和LastName。原始名称属性会发生什么变化?我可以想象其他架构变化会让人觉得具有破坏性,那么Anchor Modeling声称以非破坏性的方式演变模式意味着什么呢?

1 个答案:

答案 0 :(得分:2)

破坏性操作会影响正常运行时间

它可能是指它与正常运行时间的相互作用。如果更改了足够大小的基表,则会暂停对其的请求,直到完成为止。使用锚点建模时,没有这样的场景,因为新列是不与基表交互的新实体(就阻塞对基表的I / O操作而言,除了删除之外,由于新列实现为空,因此没有实际意义表)。

因此,假设您有一个具有FullName属性的Person基表。然后,您已经非破坏性地进化为包括FirstName,MiddleName和LastName。在所有代码路径采用First,Middle和Last之前,FullName表可能会继续有用。在这一点上,它成为一种退化器官,继续进化类比。

审核(删除)此表也是非破坏性的。作为一个单独的实体,其生命周期的破坏不会中断任何基表或属性表的操作。

这可能是锚模型作者破坏性的意思。

破坏正常运行时间。