17.数据建模语言Information Engineering - IE模型

Posted 韦宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17.数据建模语言Information Engineering - IE模型相关的知识,希望对你有一定的参考价值。

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 Order与Party是多对一 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 关联基数:用来表示关联实体的数量上限,为1、n等
图中右边部分表示的意义如下:1个A必须关联到1个或多个B,一个B可以关联0个或1个A

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

 

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

 

数据处理技术QQ群:467404632       原文地址https://www.cnblogs.com/hadoopdev/p/4994886.html

以上是关于17.数据建模语言Information Engineering - IE模型的主要内容,如果未能解决你的问题,请参考以下文章

数据建模语言Information Engineering - IE模型

DQL 数据查询语言 IS (information_schema)

随笔编号-16 MySQL查看表及索引大小方法

用数据讲故事:基于分析场景的17条Python使用小结

This application is modifying the autolayout engine from a background thread, which can lead to engi

为啥 netconf 不使用 XML 作为数据建模语言?