锚建模——数据类型是模型的一部分吗?

Anchor Modeling - are data types part of the Model?

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

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

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

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

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

所以问题是:

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

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

话虽如此,XML 结构可能需要稍微清理一下。您认为将这些属性移动到元数据元素有什么好处吗?