锚建模——数据类型是模型的一部分吗?
Anchor Modeling - are data types part of the Model?
一个关于Anchor Model数据库设计中数据类型的问题。该问题假定锚模型实现与锚模型本身分离。
在锚模型xml中,我们有以下与数据类型相关的信息:
dataRange="varchar(42)"
identity="int"
timeRange="datetime"
它们存储在锚模型实体(anchor/attribute)xml 个节点中。
例子
<attribute mnemonic="NAM" descriptor="Name" timeRange="datetime" dataRange="varchar(42)">
据我了解,数据类型不会影响锚模型,它们会影响其对特定数据库供应商的实现。甚至历史化属性的时间粒度也与模型无关。
所以问题是:
- 在元数据 xml 节点中存储数据类型信息不是更准确吗?因为它们不是模型的一部分
- 或者我遗漏了什么并且数据类型必须是锚模型的一部分?为什么?
如果您想重现 Anchor 模型图中看到的图形符号,那么需要较少的属性是正确的。检测某物是否已历史化是在存在 timeRange 属性时完成的,因此在这种情况下必须将其替换为 historized="true" 。如果是这样,其余的可以移至元数据元素。
之所以不是,原因很简单,在论文中 Anchor Modeling – Agile Information Modeling in Evolving Data Environments 构造的形式化实际上包括这些属性。例如,timeRange 是历史化构造的组成部分,这就是为什么它最终成为相应元素类型的属性的原因。
话虽如此,XML 结构可能需要稍微清理一下。您认为将这些属性移动到元数据元素有什么好处吗?
一个关于Anchor Model数据库设计中数据类型的问题。该问题假定锚模型实现与锚模型本身分离。
在锚模型xml中,我们有以下与数据类型相关的信息:
dataRange="varchar(42)"
identity="int"
timeRange="datetime"
它们存储在锚模型实体(anchor/attribute)xml 个节点中。
例子
<attribute mnemonic="NAM" descriptor="Name" timeRange="datetime" dataRange="varchar(42)">
据我了解,数据类型不会影响锚模型,它们会影响其对特定数据库供应商的实现。甚至历史化属性的时间粒度也与模型无关。
所以问题是:
- 在元数据 xml 节点中存储数据类型信息不是更准确吗?因为它们不是模型的一部分
- 或者我遗漏了什么并且数据类型必须是锚模型的一部分?为什么?
如果您想重现 Anchor 模型图中看到的图形符号,那么需要较少的属性是正确的。检测某物是否已历史化是在存在 timeRange 属性时完成的,因此在这种情况下必须将其替换为 historized="true" 。如果是这样,其余的可以移至元数据元素。
之所以不是,原因很简单,在论文中 Anchor Modeling – Agile Information Modeling in Evolving Data Environments 构造的形式化实际上包括这些属性。例如,timeRange 是历史化构造的组成部分,这就是为什么它最终成为相应元素类型的属性的原因。
话虽如此,XML 结构可能需要稍微清理一下。您认为将这些属性移动到元数据元素有什么好处吗?