




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实体关系模ER模型QuantrtyNameNumberNumberOrdw-LinePurchase Orde<Party-OrderPeraonOrganisationProductServiceta血屣口on矽QxleMissionEventClasslficadcxiEvect CategoryEEREnhanced Entity-Relationship ModelParty 的Purchase OrderProduct Code了陈氏表示法 下面是一个I,关联关系本身就可以作为这个中间实体。另外 可以在多个实体间使用一个关联关系Unique Identifier 唯一标识陈氏表
2、示法没有很好的解决唯一标识问题,仅使用一种简单的标记方法,下图表示1. Entity Relationship Model - ER 模型ERD - ER diagram - Entity Relationship diagramER模型的关联关系不限于 2个实体之Relationship关联关系:使用菱形表示,菱形中写上关联关系的名字ER模型中关联关系也可以拥有属性,在多对多关联关系中不需要使用额外中间关联实体来1976年Peter Chen首次提出了 Entity Relationship Modeling(实体关系建模)概念,并发明Peter Chen's Notation ,因
3、此ER模型也可以叫做 Chen's Model (陈氏模型)ER 模型-Peter Chen's NotationER 模型-Peter Chen's Model,实际上这展ER模型Entity实体:使用方框表示Attribute属性:使用圆或椭圆表示。实体和实体关系都可以拥有属性,例如图中的Order-Line关系拥有3个属性ID作为Purchase Order唯一标识一员的情况,关联关系名称改为 E,朝依赖实体方使用一个箭头,依赖实体使用一个额外的方框括起来ER 模型中唯一标识的表示方法图:ER 模型中唯一标识的表示方法Sub-type 子类型最初的陈氏表示法中不包
4、含子类型概念,后来Robert Brown 和 Mat Flavin 添加了子类型表示法,这种ER模型称为扩展 ER模型。上图ER模型中有一个子类型例子,超类Party派生出子类 Organization 和 PersonConstraints between relationships 关联关系的约束最初的陈氏表示法中关联关系的每一端只使用一个数字表示,比如一对多的关联关系,在一端使用 1 ,另一端实体上使用n 表示,这对关联关系约束不充分。上图的ER 模型在关联关系每一端使用2 个数字表示,这与Crow's Foot 表示法以及UML 中的 optionality (可选项)、ca
5、rdinality (关联基数)有些类似又有较大的区别,详细说明如下:上图中一个Purchase Order 必须关联一个Party, 必须关联一个或多个Order Line , 每个 OrderLine 要么是一个Product 要么是一个ServicePurchase Order 右边的 (1,)1 表示一个Purchase Order 有且必须有一个PartyParty左边的(0,)n表示一个 Party可以拥有多个 Purchase Order,也可以没有Purchase Order左边的(1,)n 表示 Purchase Order必须有一个或多个Order LineOrder Li
6、ne 右边的 (1,)1 表示每个Order Lien 必须属于一个Purchase OrderOrder Line下面的(1,)1和菱形符号一起表示每个Order Line要么是一个 Product要么是一个 ServiceProduct 和 Service 上面的 (0,)n 表示 Product 和 Service 可以属于0 个或多个Order LineEvent 和 Event Category 的关联关系稍特殊(实际中这种n:1 的关系不多见),他不是一个普通的多对一关系。Event 可以关联一个Event Category 也可以不关联,而 Event Category则必须关联
7、一个或多个EventOrder-Line 和Product、 Service 之间是一个exclusive or 约束(异或、互斥约束,disjunctivemandatory 约束)关系,使用超类和子类一样的表示法来表示。因为 exclusive or 的语义本身已经已经表明Order Line 必须是 Product 或者 Service 其中之一,因此上图中Order Line 右边和下面的(1,)1 是多余的EER - Enhanced Entity-Relationship Model 扩展 ER模型上面已经有些内容不属于最初的陈氏表示法,是后来其他人扩展的。陈氏表示法出现的早也存在
8、一些不足,因此存在一些扩展以弥补缺陷,不同文档中使用的ER 图也不尽相同,例如下图是 wiki 上的一个示例ER 模型RggloriNyMCreept Ch,出刖。jPrEapAaDonL 口州各次E呼出的胡吧*>PUjWSlflRegioHAccountCharlier,H】,1】建lntantijtronModM(_1'jl里CliHUh匚TT印 Inhincirion图:Wiki上的ER模型示仞图: Wiki上的ER模型示例属性带下划线表示主键属性;关联关系连接线为两条线的表示“最少一个,或多个"(用于n的一端);实体和关联关系使用两个框的,可能是上面讲到的唯一标
9、识表示法,也可能是"最少一个,或多个"表示法的一部分(这一点有待确认)。还有一些,例如属性与实体间用两 条线连接的表示该属性为多值属性(上图中Region实体的Foliage属性)。图中的部分解释如下:1 Account has n(at least one) Character, Account 的 AcctName 属性将成为 Has 的唯一标识的 一员;1 Region contains n(at least one) Character, Region 的 RegionName 属性将成为 Character 的 唯一标识的一员;2. Information Eng
10、ineering - IE 模型Information Engineering 采用Crow's Foot表示法(也有叫做 James Martin表示法的),中文翻译中对使用了 Crow's Foot表示法的模型也有笼统的称做鸭掌模型的(关联关系的关联基数中采用到了一个鸭掌形的三叉线来表示)。他由Clive Finkelstein发明,与James Martin一起推广,后来两人各自做了些修正形成两份版本前面示例模型的 Information Engineering表示如下:Order Une卜十 P urchase 0 rder 防。值mis vendor torPerso
11、n OrganizationIsonIs forp MudServiceEvert升=6 Event Category图:InformationEngineering - IE模型Crow's Foot Model -鸭掌模型图:InformationEngineering - IE 模型注意IE模型与ER模型的区别。Purchase Order与Party是多对一 n:1的关联关系,在 ER模型中n被放置在了 Party的左边,而IE模型中n被放置在了 Purchase Order的右边。 两种表示法的形式(相当于语法)不一样,但语义是一致的。这一点也只有ER模型是特殊的,其他模型表
12、示法中都与 IE模型一致Entity & Attribute :实体属性并不出现在IE模型中,而是单独使用另外的文档记录Relationshipzero or 11 and only 1 促2ctiy1 cr morecardinality 表示法图:Crow's Foot 的可选Crow's Foot的可选项optionality和关联基数 cardinality 表示法:1zero or more图:Crow's Foot的可选项optionality和关联基数 项optionality和关联基数cardinality表示法Optionality可选项:用来
13、表示该关联关系是可选的,还是必须的。对于可选的关联关系,通常表现为用于关联的外键字段允许为null值,或者对于使用中间关联关系表的情况下可以不出现关联数据,而必须的关联关系则不允许外键为null或者必须存在关联数据Cardinality关联基数:用来表示关联实体的数量上限,为 1、n等图中右边部分表示的意义如下:1个A必须关联到1个或多个B, 一个B可以关联0个或1个A关联的约束如图所示,Product和Service通过一个圆连接到 Order Line。如果是实心圆则表示 Product 和 Service 是 exclusive or; 如果是空心圆则表示Product 和 Servic
14、e 是 inclusive or(相容的,conjunctive ),表示可以是其中之一或者多个在上面IE模型图中,Order Line右侧是Finkelstein的一个特殊符号,表示一个Purchase Order 初始时有。或n个Order Line ,但最终必须有 1或n个Order LineMartin以动词命名关联关系,只命名一个方向(遵循从左到右、从上往下的方式),而Finkelstein不对关联关系命名Sub-type:图中Party子类的表示方法由 Martin采用,Finkelstein则对每个子类使用单独的 实体,使用ISA关联关系(关联关系名称为 ISA,也有采用类似 U
15、ML继承的三角形符合, 在关联线上使用一个三角形的)表示其为子类3. Richardarker's Notation这个表示法最早是英国咨询公司 CACI发明,经过了 Richard Barker的推广,后来 Richard Barker去了 Oracle,开发了相关的建模工具,因此也叫做Oracle表示法(Oracle's Notation )示例模型的Barker表示法如下:Pwsonresponsibilfty# IZ-numbe< .quantity Q , acuiabpficepart of/P<jfdia&6Order# PO-number(o
16、rder Yai)/IIQ>.carporatfi-misEionParty# 网 y-id ,name/EventA Jrr# pn)du(d-co(1e.descriptionI . unMrlca /W sefvtce-idT description. ratfrpsnhDiu/#codeEwernCategoryX#code.descriptiony。-O-compos IdflfrRichard Barker's Model 图:Richard Barker 模型Entity & Attribute :实体试用圆角的方框表示,属性出现在实体框中。可选属性(允许
17、null) 前面带一个空心圆,必须的属性(不允许null)前面带一个实心圆,唯一标识属性前面带一个#符号(因为制图工具原因,有时可选属性前面不使用任何符号,必须属性前使用一个点)Relationship :Barker表示法中可选项通过半边连接线的虚实线表示,表示法如下图所示。上面的模型中Purchase Order必须关联到一个 Party,所以关联线在 Party一侧的那一半是实线表示;而Party可以关联到0或多个Purchase Order,所以关联线在 Purchase Order 一侧的那一半是虚线表 示zero or 11 and only 1 出x修两) zero or mor
18、e1 or mwfi图:Richard Barker's Notation 图:Richard Barker's Notation关联基数为n时采用一个三叉线,线条末端没有符号时表示关联基数为1另外Barker表示法中有一个表示aggregation、composition的特殊符号,例如示例模型中的Purchase Order和Order Line的关系,在 Order Line右侧的三叉线边上添加一个竖线,注意 与Crow's Foot表示法之间的区别Sub-type: Barker表示法中子类型显示在父类型的实体框中Constraint: Barker表示法仅支持
19、 exclusive or约束,如示例模型中所示,用一条弧线划过 2个关联关系4. IDEF1X 模型IDEF1X等效模型如下:IDEF1X是美国联邦政府广泛使用的一种模型,前面示例模型的ProductOrder LrneO-numbai (FK) liinumberitem-rumtiBf (FK) qj»ntrtyPO-n umberCatalogue HemServiceproduct-code heHTi-number (FK JXarvicaudrtern-numberFK)raie-p4?r-hourPlj rchase OrderfHrty-k! (FK) order-
20、dateIs toPersonPartyresponsibilityEventparty-ir!nameperson-<xganizat>orhtypeevent-codecate9orv-code (FK)产descriptionP'pefsonMjrganizal ion<y peOrganize :ioncorporate-missionEvent CategoryKegcyyE 口加图:IDEF1X 模型图:IDEF1X 模型Entity & Attribute :实体使用方框和圆角框表示,独立实体( Independent entities ,主键不
21、包 含其他实体主键值)使用方框,非独立实体( dependent entities,主键包含其他实体主键值) 使用圆角框。属性出现在实体框中,主键用线隔开Relationship :外键不是使用关联线表示,必须在实体属性中明确的标注外键属性如果关联关系一方的唯一标识将作为另一方唯一标识的一部分(即 identifying relationship ),关联线使用实线,否则(即 non-identifying relationship )使用虚线不同于IE模型,IDEF1X中可选项和关联基数是分开表示的,关联线的一端表示关联基数, 另一端表示可选项zero. one or morep one m
22、r moreI from n to mJ n-mzero or onereference ro note () where Z4 (口) cardmahn- is speciHed图:IDEF1X Cardinality 关联基数图示图:IDEF1X Cardinality 关联基数图示如IDEF1X示例模型中,关联基数的图示都是出现在关联关系的左端或者上面,可选项出现在右端或者下面。对于可选的关联关系(即类似外键允许为null值的情况),在可选项一端使用一个菱形,例如示例模型中Event Category左边的菱形;对于必须的关联关系(即外键必须为有效的实体标识值的情况),则在可选项一端直接
23、将关联线与实体连接。对于多对多 的情况,两端均使用关联基数符号,可选项问题在模型中通过其他文档标注关联关系的名称有几种表示方法。默认情况下遵循从左至右从上至下的顺序,关联关系从左至右的名称放在关联线上方,从右至左的名称放在关联线下方。也可以使用一个反斜杠将两个方向的名称分开,从左至右从上至下的在反斜杠前面,否则在后面Sub-type & ConstraintIDEF1X中的子类和关联约束分别如示例模型中所示。另外一点,示例模型中的子类和关联 约束图例中,小圆圈下面都是使用2条横线,这表示模型中已经列举了所有的子类和约束情况,如果模型只是部分列举子类和约束情况,则使用 1条横线Domai
24、n : IDEF1X中定义了 domain , domain即数据类型的定义,比如数据类型、取值范围 等各种需要运用到属性值上的约束详尽的 IDEF1X 规范参考 IDEF1X 标准:Integration Definition fo门nformation ModelingEXPRESS-G表示法EXPRESS-G是一个ISO标准ISO 10303-11。示例模型的 EXPRESS-G表示法如下(省略了图:EXPRESS-G表示法图:EXPRESS-G表示法Entity & Attribute :实体使用方框表示,实体名称出现在方框中属性通过空心圆结束的线条连接到属性值类型,属性名称出
25、现在线条上。可选属性使用虚线条连接,必须属性使用实现连接属性值类型使用右边多一条竖线的方框表示,ISO规范中确定的简单数据类型(String, Binary,Logical, Boolean, Number, Integer, Real等)均使用上图中所示的实体框表示。扩展或者自定义的数据类型使用虚线框表示,例如上图示例中order_date属性的DATE类型。枚举类型的表示方法如下图: L - MALEPerson O gBn<J&r_typ® I 1 Orl1-. FEMALE图:EXPRESS-G的枚举表示方法图: EXPRESS-G的枚举表示方法Relation
26、ship :使用空心圆结束的线条连接关联实体关联关系的名称出现在关联线上,朝空心圆一端的方向为正向,相反则为反向,反向的关联关系名称前面使用(INV)表示关联基数紧随关联名称之后,第一个字符可以是S、B、L、A,分别表示Set、Bag、List、Array,后面中括号的内容即为关联基数,问号表示多个。默认情况下(没有明确标注)关 联基数都为1:1,因此上图中出现1:1的地方都可以省略前面提到过的exclusive or约束,EXPRESS-G中使用Select (可选类型)表示,如上图中的 order_line_itemSub-type:如上图中 Party、Person、Organizati
27、on所示,连接线使用粗线条ORM - Object-Role Modeling下面是ORM2的部分表示法基本元素下面是ORM模型几个基本元素图示:Entity Type Employee or Empoyee or Ernploye?Value Type > EmpWame j(>- i Empfiame or QEmpNflfn。: JIjf、J'JfMMpw带常用引用(Country 作mpl/、 诲西商将实体最常用的一个属性缩写在实体框中 的Entiy I 2gJ I前而J也吧J I 则 J另一类则是对通用概念的引用单位类型的 属性C HeightCPackageWe
28、ight C PnceI 面: J I 面:) J空Predicate(Gendw)如,F)(飞ade ) fA'. .10p限定层性值 Rating )1 10 (fiureS) (-80.-3(fl,0 .)概念上指这些单位不是使用简单数值.而是定义单 位实体对象,对象名也可以列出来例如Pic嘱性分一元、二元、三元、零元谓语庆联关联名称可用皮斜杠区分左右方向可以用”等 箭头形就明确表明方向(主要是反向) 可以列举各T值,也可以使用范围表示 范围表示中卜.:表示开放区间,卜赛示闭合区 间,闭含区间符号可以省略图:ORM模型基本元素图: ORM模型基本元素唯一性约束表示法ORM中唯一性约束是在相应角色上使用带箭头的线条表示,线条在哪些角色上,则这些角 色的组合必须唯一,例如下图:图:ORM模型唯一性约束表示法图:ORM模型唯一性约束表示法图中Person is of Gender的关系中,Person必须唯一,因此这是一个 n:1的关系。同样Person was born in Count
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度剖析VFP的考试形式试题及答案
- 计算机二级C语言知识点试题及答案
- 计算机四级考试内容与准备试题及答案
- 计算机二级C语言应用技巧总汇试题及答案
- 软件系统中的技术债务管理试题及答案
- 社会变迁与企业战略风险试题及答案
- 高考语文评析能力试题及答案
- 测试人员的素质提升方法试题及答案
- 葬祖坟签合同协议书
- 山东专用2025版高考物理一轮复习第八章第1节电路的基本概念及规律练习含解析新人教版
- (完整word版)餐券模板
- 《滑炒技法-滑炒鸡丝菜肴制作》说课课件
- 减速机设备维修技术标准
- GB/T 26480-2011阀门的检验和试验
- 中文版自杀可能量表
- 装饰艺术运动课件
- 【审计工作底稿模板】FH应付利息
- 工贸企业安全管理台账资料
- 三方协议书(消防)
- 预激综合征临床心电图的当前观点
- 阀门检修作业指导书讲解
评论
0/150
提交评论