oracle数据modeling分类,7种数据建模的方法.doc

1. Entity Relationship Model - ER模型 - 实体关系模型1976年Peter Chen首次提出了Entity Relationship Modeling(实体关系建模)概念,并发明了陈氏表示法Peter Chen's Notation,因此ER模型也可以叫做Chen's Model(陈氏模型)。下面是一个ER模型(ERD - ER diagram - Entity Relationship diagram)示例:图:ER模型 - Peter Chen's Notation图:ER模型 - Peter Chen's Model,实际上这是一个EER - Enhanced Entity-Relationship Model,扩展ER模型Entity 实体:使用方框表示Attribute 属性:使用圆或椭圆表示。实体和实体关系都可以拥有属性,例如图中的Order-Line关系拥有3个属性Relationship 关联关系:使用菱形表示,菱形中写上关联关系的名字ER模型中关联关系也可以拥有属性,在多对多关联关系中不需要使用额外中间关联实体来表示,关联关系本身就可以作为这个中间实体。另外ER模型的关联关系不限于2个实体之间,可以在多个实体间使用一个关联关系Unique Identifier 唯一标识陈氏表示法没有很好的解决唯一标识问题,仅使用一种简单的标记方法,下图表示Party的ID作为Purchase Order唯一标识一员的情况,关联关系名称改为E,朝依赖实体方使用一个箭头,依赖实体使用一个额外的方框括起来图:ER模型中唯一标识的表示方法图:ER模型中唯一标识的表示方法Sub-type 子类型最初的陈氏表示法中不包含子类型概念,后来Robert Brown和Mat Flavin添加了子类型表示法,这种ER模型称为扩展ER模型。上图ER模型中有一个子类型例子,超类Party派生出子类Organization和 PersonConstraints between relationships 关联关系的约束最初的陈氏表示法中关联关系的每一端只使用一个数字表示,比如一对多的关联关系,在一端使用1,另一端实体上使用n表示,这对关联关系约束不充分。上图的 ER模型在关联关系每一端使用2个数字表示,这与Crow's Foot表示法以及UML中的optionality(可选项)、cardinality(关联基数)有些类似又有较大的区别,详细说明如下:上图中一个Purchase Order必须关联一个Party,必须关联一个或多个Order Line,每个Order Line要么是一个Product要么是一个Service??? Purchase Order右边的(1,)1表示一个Purchase Order有且必须有一个Party??? Party左边的(0,)n表示一个Party可以拥有多个Purchase Order,也可以没有??? Purchase Order左边的(1,)n表示Purchase Order必须有一个或多个Order Line??? Order Line右边的(1,)1表示每个Order Lien必须属于一个Purchase Order??? Order Line下面的(1,)1和菱形符号一起表示每个Order Line要么是一个Product要么是一个Service??? Product和Service上面的(0,)n表示Product和Service可以属于0个或多个Order Line??? Event和Event Category的关联关系稍特殊(实际中这种 n:1 的关系不多见),他不是一个普通的多对一关系。Event可以关联一个Event Category也可以不关联,而Event Category则必须关联一个或多个EventOrder-Line和Product、Service之间是一个exclusive or约束(异或、互斥约束,disjunctive mandatory约束)关系,使用超类和子类一样的表示法来表示。因为exclusive or的语义本身已经已经表明Order Line必须是Product或者Service其中之一,因此上图中Order Line右边和下面的(1,)1是多余的EER - Enhanced Entity-Relationship Model 扩展ER模型上面已经有些内容不属于最初的陈氏表示法,是后来其他人扩展的。陈氏表示法出现的早也存在一些不足,因此存在一些扩展以弥补缺陷,不同文档中使用的ER图也不尽相同,例如下图是wiki上的一个示例ER模型图:Wiki上的ER模型示例图:W

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值