ER模型详解(2)

2019-08-30 20:27

Crow's Foot表示法之间的区别

Sub-type:Barker表示法中子类型显示在父类型的实体框中

Constraint:Barker表示法仅支持exclusive or约束,如示例模型中所示,用一条弧线划过2个关联关系

IDEF1X模型

IDEF1X是美国联邦政府广泛使用的一种模型,前面示例模型的IDEF1X等效模型如下:

图:IDEF1X模型图:IDEF1X模型

Entity & Attribute:实体使用方框和圆角框表示,独立实体(Independent entities,主键不包含其他实体主键值)使用方框,非独立实体(dependent entities,主键包含其他实体主键值)使用圆角框。属性出现在实体框中,主键用线隔开

Relationship:

外键不是使用关联线表示,必须在实体属性中明确的标注外键属性

如果关联关系一方的唯一标识将作为另一方唯一标识的一部分(即identifying relationship),关联线使用实线,否则(即non-identifying relationship)使用虚线

不同于IE模型,IDEF1X中可选项和关联基数是分开表示的,关联线的一端表示关联基数,另一端表示可选项

图:IDEF1X Cardinality 关联基数图示图:IDEF1X Cardinality 关联基数图示

如IDEF1X示例模型中,关联基数的图示都是出现在关联关系的左端或者上面,可选项出现在右端或者下面。对于可选的关联关系(即类似外键允许为null 值的情况),在可选项一端使用一个菱形,例如示例模型中Event Category左边的菱形;对于必须的关联关系(即外键必须为有效的实体标识值的情况),则在可选项一端直接将关联线与实体连接。对于多对多的情况,两端均使用关联基数符号,可选项问题在模型中通过其他文档标注

关联关系的名称有几种表示方法。默认情况下遵循从左至右从上至下的顺序,关联关系从左至右的名称放在关联线上方,从右至左的名称放在关联线下方。也可以使用一个反斜杠将两个方向的名称分开,从左至右从上至下的在反斜杠前面,否则在后面

Sub-type & Constraint

IDEF1X中的子类和关联约束分别如示例模型中所示。另外一点,示例模型中的子类和关联约束图例中,小圆圈下面都是使用2条横线,这表示模型中已经列举了所有的子类和约束情况,如果模型只是部分列举子类和约束情况,则使用1条横线

Domain:IDEF1X中定义了domain,domain即数据类型的定义,比如数据类型、取值范围等各种需要运用到属性值上的约束

详尽的IDEF1X规范参考IDEF1X标准:Integration Definition for Information Modeling

EXPRESS-G表示法

EXPRESS-G是一个ISO标准ISO 10303-11。示例模型的EXPRESS-G表示法如下(省略了Event、Event Category部分):

图:EXPRESS-G表示法图:EXPRESS-G表示法

Entity & Attribute:

实体使用方框表示,实体名称出现在方框中

属性通过空心圆结束的线条连接到属性值类型,属性名称出现在线条上。可选属性使用虚线条连接,必须属性使用实现连接

属性值类型使用右边多一条竖线的方框表示,ISO规范中确定的简单数据类型(String, Binary, Logical, Boolean, Number, Integer, Real等)均使用上图中所示的实体框表示。扩展或者自定义的数据类型使用虚线框表示,例如上图示例中order_date属性的DATE类型。枚举类型的表示方法如下图:

图:EXPRESS-G的枚举表示方法图:EXPRESS-G的枚举表示方法

Relationship:

使用空心圆结束的线条连接关联实体

关联关系的名称出现在关联线上,朝空心圆一端的方向为正向,相反则为反向,反向的关联关系名称前面使用(INV)表示

关联基数紧随关联名称之后,第一个字符可以是S、B、L、A,分别表示Set、Bag、List、Array,后面中括号的内容即为关联基数,问号表示多个。默认情况下(没有明确标注)关联基数都为[1:1],因此上图中出现[1:1]的地方都可以省略

前面提到过的exclusive or约束,EXPRESS-G中使用Select(可选类型)表示,如上图中的order_line_item

Sub-type:如上图中Party、Person、Organization所示,连接线使用粗线条

ORM - Object-Role Modeling 下面是ORM2的部分表示法 基本元素

下面是ORM模型几个基本元素图示:

图:ORM模型基本元素图:ORM模型基本元素

唯一性约束表示法

ORM中唯一性约束是在相应角色上使用带箭头的线条表示,线条在哪些角色上,则这些角色的组合必须唯一,例如下图:

图:ORM模型唯一性约束表示法图:ORM模型唯一性约束表示法

图中Person is of Gender的关系中,Person必须唯一,因此这是一个n:1的关系。同样Person was born in Country是1:n,Person speaks Language是n:m,Person is president of Country是1:1

下面表格是用于理解Person is of Gender、Person was born in Country的数据示例:

图:数据示例

关联关系中必须的角色使用带圆点的线条表示,如上图中Person was born in Country 上面示例中的唯一性约束都是位于一个关联关系(包括二元和多元关系)中,这种唯一约束叫做内部唯一约束Internal UC。多个关联关系组合起来形成的唯一约束称为外部唯一约束External UC,例如下图所示

图:ORM模型External UC图:ORM模型External UC

图中State具有2个外部唯一约束,一个是Country+StateCode,圆圈中使用2跟线条表示这个唯一约束作为State的主键;另一个是 Country+StateName

Inclusive or ((disjunctive mandatory role)

图:ORM Inclusive or表示每个Visitor必须有护照Passport或者驾驶执照DriverLicence,或者两样都有

Exclusive

图:ORM Exclusive约束表示Person不可能同时是married和widowed状态

exclusive or则是inclusive or和exclusive的结合,即必须是其中之一

图:ORM Exclusive or约束

详细的ORM2图形表示法参考ORM 2 Graphical Notation Summary 使用ORM建模的过程示例参考Object Role Modeling: An Overview ORM2的完整介绍参考ORM2

参考

Wiki - Entity-relationship model Wiki - IDEF1X Data Modeling 101

Wiki - EXPRESS (data modeling language)

Information modelling - Getting started with EXPRESS-G Wiki - Object-Role Modeling Object Role Modeling

A Comparison of Data Modeling Techniques


ER模型详解(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:尔雅网课-经济与中国经济2016

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: