数据仓库专题19-数据建模语言Information Engineering - IE模型(转载)

简介: Information Engineering采用Crow's Foot表示法(也有叫做James Martin表示法的),中文翻译中对使用了Crow's Foot表示法的模型也有笼统的称做鸭掌模型的(关联关系的关联基数中采用到了一个鸭掌形的三叉线来表示)。
Information Engineering采用Crow's Foot表示法(也有叫做James Martin表示法的),中文翻译中对使用了Crow's Foot表示法的模型也有笼统的称做鸭掌模型的(关联关系的关联基数中采用到了一个鸭掌形的三叉线来表示)。他由Clive Finkelstein发明,与James Martin一起推广,后来两人各自做了些修正形成两份版本

前面示例模型的Information Engineering表示如下:

 

 图:Information Engineering - IE模型 - Crow's Foot Model - 鸭掌模型图:Information Engineering - IE模型

 注意IE模型与ER模型的区别。Purchase OrderParty是多对一 n:1 的关联关系,在ER模型中n被放置在了Party的左边,而IE模型中n被放置在了Purchase Order的右边。两种表示法的形式(相当于语法)不一样,但语义是一致的。这一点也只有ER模型是特殊的,其他模型表示法中都与IE 模型一致
Entity & Attribute:实体属性并不出现在IE模型中,而是单独使用另外的文档记录
Relationship
Crow's Foot
的可选项optionality和关联基数cardinality 表示法:

 图:Crow's Foot的可选项optionality和关联基数cardinality 表示法图:Crow's Foot的可选项optionality和关联基数cardinality 表示法

Optionality
可选项:用来表示该关联关系是可选的,还是必须的。对于可选的关联关系,通常表现为用于关联的外键字段允许为null值,或者对于使用中间关联关系表的情况下可以不出现关联数据,而必须的关联关系则不允许外键为null或者必须存在关联数据
Cardinality
关联基数:用来表示关联实体的数量上限,为1n
图中右边部分表示的意义如下:1A必须关联到1个或多个B,一个B可以关联0个或1A

关联的约束如图所示,ProductService通过一个圆连接到Order Line。如果是实心圆则表示ProductServiceexclusive or;如果是空心圆则表示ProductServiceinclusive or(相容的,conjunctive),表示可以是其中之一或者多个
在上面IE模型图中,Order Line右侧是Finkelstein的一个特殊符号,表示一个Purchase Order初始时有0nOrder Line,但最终必须有1nOrder Line
Martin
以动词命名关联关系,只命名一个方向(遵循从左到右、从上往下的方式),而Finkelstein不对关联关系命名

 

 Sub-type:图中Party子类的表示方法由Martin采用,Finkelstein则对每个子类使用单独的实体,使用ISA关联关系(关联关系名称为ISA,也有采用类似UML继承的三角形符合,在关联线上使用一个三角形的)表示其为子类

 

 

 

 


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章
|
存储 数据采集 分布式计算
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
|
2月前
|
存储 数据采集 大数据
数据仓库建模规范思考
本文介绍了数据仓库建模规范,包括模型分层、设计、数据类型、命名及接口开发等方面的详细规定。通过规范化分层逻辑、高内聚松耦合的设计、明确的命名规范和数据类型转换规则,提高数据仓库的可维护性、可扩展性和数据质量,为企业决策提供支持。
296 10
|
9月前
|
存储 算法 安全
数据仓库与数据挖掘概述
数据仓库与数据挖掘概述
236 3
|
9月前
|
SQL 存储 BI
数据仓库名词和术语
数据仓库名词和术语
|
SQL JSON 自然语言处理
数仓建模—建模工具PdMan
工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。
2140 0
数仓建模—建模工具PdMan
|
机器学习/深度学习 算法 数据挖掘
数据挖掘(Data Mining)| 数据分析建模理论基础
数据挖掘(Data Mining)| 数据分析建模理论基础
356 0
数据挖掘(Data Mining)| 数据分析建模理论基础
|
存储 数据挖掘 BI
数据仓库建模
数据仓库建模
230 0
|
存储 数据建模 数据管理
【数据建模】微软通用数据模型
【数据建模】微软通用数据模型
|
存储 机器学习/深度学习 大数据
数据仓库常见建模方法与大数据领域建模实例综述
数据仓库常见建模方法与大数据领域建模实例综述
956 0
数据仓库常见建模方法与大数据领域建模实例综述
|
存储 机器学习/深度学习 人工智能
数据挖掘和数据仓库之间的区别
当人们听到“数据挖掘”这个词时,“数据仓库”这个词怎么样?找出数据挖掘和数据仓库之间的确切区别。
300 0
数据挖掘和数据仓库之间的区别