2

假设您有一个锚模型并将单个名称属性替换为三个属性:FirstName、MiddleName 和 LastName。原始名称属性会发生什么变化?我可以想象其他感觉具有破坏性的模式更改,那么 Anchor Modeling 声称以非破坏性方式发展模式意味着什么?

4

1 回答 1

2

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

它可能是指它与正常运行时间的交互。如果您 ALTER 一个足够大的基表,您将暂停对它的请求,直到它完成。使用锚建模,不存在这种情况,因为新列是不与基表交互的新实体(就阻止对基表的 I/O 操作而言,除了删除,因为新列被实现为空,所以没有实际意义表)。

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

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

所以这可能就是锚模型作者所说的破坏性。

破坏正常运行时间。

于 2012-08-07T21:00:19.667 回答