database-design - 锚定建模中的非破坏性模式演化是什么意思?

标签 database-design database-schema anchor-modeling

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

最佳答案

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

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

因此,假设您有一个带有 FullName 属性的 Person 基表。然后,您会以非破坏性方式演变为包含 FirstName、MiddleName 和 LastName。 FullName 表可能会继续有用,直到所有代码路径都采用 First、Middle 和 Last。此时它变成了一种退化器官,继续进化类比。

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

这可能就是 anchor 模型作者所说的破坏性的意思。

破坏正常运行时间。

关于database-design - 锚定建模中的非破坏性模式演化是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065982/

相关文章:

sql - 您通常将哪种 T-SQL 数据类型用于权重和长度?

database-design - 存储分层标签的最佳方法

sql - 为 oracle 命令行设置行宽

mysql - 如何解析以下数据库模式

sql - 时态数据库设计,有一个转折(实时行与草稿行)

frameworks - 有没有数据仓库框架?

mysql - 海量数据库和mysql

sql - 数据库表上的高效滑动窗口总和

java - hbm2ddl : on delete set null issue