0

关于锚模型数据库设计中数据类型的问题。该问题假设锚模型实现与锚模型本身分离。

在 Anchor Model xml 中,我们有以下与数据类型相关的种类信息:

  • dataRange="varchar(42)"
  • identity="int"
  • timeRange="datetime"

它们存储在锚模型实体(锚/属性)xml 节点中。
例子

<attribute mnemonic="NAM" descriptor="Name" timeRange="datetime" dataRange="varchar(42)">

据我了解,数据类型不会影响锚模型,它们会影响其对特定数据库供应商的实现。甚至历史属性的时间粒度也与模型无关。

所以问题是:

  • 在元数据 xml 节点中存储数据类型信息不是更准确吗?因为它们不是模型的一部分
  • 还是我遗漏了一些东西并且数据类型必须是锚模型的一部分?为什么?
4

1 回答 1

2

如果您想重现 Anchor 模型图中看到的图形符号,那么您需要较少的属性是正确的。检测是否已历史化是在存在 timeRange 属性时完成的,因此在这种情况下必须用 historized="true" 替换。如果是这样,其余的可以移动到元数据元素。

原因很简单,在论文Anchor Modeling – Agile Information Modeling in Evolving Data Environments中,结构的形式化实际上包括这些属性。例如,timeRange 是历史构造的组成部分,这就是它最终成为相应元素类型的属性的原因。

话虽如此,XML 结构可能会被清理一下。您看到将这些属性移动到元数据元素有什么好处吗?

于 2015-05-11T10:52:25.430 回答