文档库 最新最全的文档下载
当前位置:文档库 › ER模型详解

ER模型详解

ER模型详解
ER模型详解

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和Person

Constraints 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则必须关联一个或多个Event

Order-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模型示例图:Wiki上的ER模型示例

属性带下划线表示主键属性;关联关系连接线为两条线的表示"最少一个,或多个"(用于n的一端);实体和关联关系使用两个框的,可能是上面讲到的唯一标识表示法,也可能是"最少一个,或多个"表示法的一部分(这一点有待确认)。还有一些,例如属性与实体间用两条线连接的表示该属性为多值属性(上图中Region实体的Foliage属性)。图中的部分解释如下:

1 Account has n(at least one) Character, Account的AcctName属性将成为Has的唯一标识的一员;

1 Region contains n(at least one) Character, Region的RegionName属性将成为Character 的唯一标识的一员;

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继承的三角形符合,在关联线上使用一个三角形的)表示其为子类

Richard Barker's Notation

这个表示法最早是英国咨询公司CACI发明,经过了Richard Barker的推广,后来Richard Barker 去了Oracle,开发了相关的建模工具,因此也叫做Oracle表示法(Oracle's Notation)

示例模型的Barker表示法如下:

Richard Barker's Model图:Richard Barker模型

Entity & Attribute:实体试用圆角的方框表示,属性出现在实体框中。可选属性(允许null)前面带一个空心圆,必须的属性(不允许null)前面带一个实心圆,唯一标识属性前面带一个#符号(因为制图工具原因,有时可选属性前面不使用任何符号,必须属性前使用一个点)

Relationship:

Barker表示法中可选项通过半边连接线的虚实线表示,表示法如下图所示。上面的模型中Purchase Order必须关联到一个Party,所以关联线在Party一侧的那一半是实线表示;而Party 可以关联到0或多个Purchase Order,所以关联线在Purchase Order一侧的那一半是虚线表示

图: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表示法仅支持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图

1.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出E-R图,并在图上注明属性、联系的类型。 (2)将E-R图转换成关系模型。 解:(1) E-R (2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 2. 为某百货公司设计一个E-R模型。 百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。 实体类型“商店”的属性有:店号、店名、店址、店经理。 实体类型“商品”的属性有:商品号、品名、单价、产地。 实体类型“职工”的属性有:工号、姓名、性别、工资。 在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。 (1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。 (2)将E-R图转换成关系模型。

转换为等价的关系模式结构如下: 商店(店号,店名,店址,店经理) 商品(商品号,品名,单价,产地) 职工(工号,姓名,性别,工资,店号,开始时间) 经营(店号,工号,月销售量) 3.某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包括以下信息: 代表团:团编号、地区、住所 运动员:运动员编号、姓名、年龄、性别 比赛项目:项目编号、项目名、级别 项目类别:类别编号类别名、主管 其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。 (1)试为该锦标赛的比赛情况设计一个ER图 (2)将E-R图转换成关系模型,并注明主键和外键。 解:满足上述需求的ER图如图所示:

er图习题大全

E-R事例 1、某商业集团的销售管理系统 数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 (1)试画出ER图,并在图上注明属性、联系的类型。 (2)将ER图转换成关系模型,并注明主键和外键。 解:(1) ER图如图7.1所示。 图7.1 (2)这个ER图可转换4个关系模式: 商店(商店编号,商店名,地址) 职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价) 销售(商店编号,商品号,月销售量)

2、设某商业集团的仓库管理系统 数据库有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出ER图,并在图上注明属性、联系的类型。 (2)将ER图转换成关系模型,并注明主键和外键。 解:(1) ER图如图7.2所示。 图7.2 (2)这个ER图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资)

ER图流程图

3.8绩效评估系统数据库设计与信息模型 3.8.1信息模型 信息模型是从信息的这个角度对某企业系统进行描述,信息是集成的基础,同时也可进行共享,成为各个功能元素之间联系的纽带,所以,对一个系统来说,建立一个信息模型是非常重要和关键的,如果缺少了信息模型,将会带来许多不必要的麻烦。 建立E-R 模型,这里E (entity )代表实体,R (relation )代表关系,即实体-联系模型,实体-联系图就是描述实体间关系的图解,是设计数据概念模型的一种有效工具。通过需求的分析,利用实体-联系模型的属性,实体和实体间的联系的模型概念,从而转入信息世界。 绩效评估系统E -R 模型 岗位PK 岗位ID 岗位名称 普通员工绩效评估PK 模型ID 权重 定性指标 定量指标 说明 普通员工绩效评估模型PK 模型编号PK 岗位编号 岗位名称 评估时间 指标指定者 特殊绩效评估模型PK 模型编号PK 岗位编号 岗位名称 评估时间 指标制定者 特殊绩效评估PK 模型编号 权重 定性指标 定量指标 说明 员工 PK 员工编号 姓名 性别 岗位编号 联系方式 岗位名称 普通员工评估得分PK 员工编号PK 模型编号PK 考核人PK 评估时间PK 岗位编号 得分 特殊评估得分PK 员工编号PK 考核人PK 评估时间PK 岗位编号PK 模型编号 得分 考核人PK 员工编号 姓名 密码 普通员工评估结果PK 员工编号PK 评估时间 最终结果 特殊评估结果PK 员工编号PK 评估时间 最终结果 图3.2 实体-联系模型

3.8.2绩效评估系统数据流程图 数据流程分析是通过分层的数据流程图(data flow diagram ,DFD )来实现的,可以用来描绘绩效评估系统的逻辑模型。 图3.3 外部实体 图3.4 数据处理 图3.5 数据存储 图3.6 数据流 1)绩效评估系统顶层数据流程图 图3.7顶层DFD 图 2)P0数据流程图 图3.8 P0 DFD 图 3)P1数据流程图 数据 考评人 P0 绩效评估系统 上级部门 考核结果 被考核对象 考核结果 考评人 数据 P1 普通员工绩效评估系统 考核结果 考核结果 上级部门 被考核对象 普通员工绩效评估结果 P2 部门绩效评估系统 部门绩效评估结果 考核结果 考核结果 上级部门 被考核对象

ER图关系模型

公司车队信息系统 本例为某货运公司设计了车队信息管理系统,对车辆、司机、维修、保险、报销等信息和业务活动进行管理。其ER图如图7.8所示。 图7.8 公司车队信息系统的ER模型 该ER图有7个实体类型,其结构如下: 部门(部门号,名称,负责人) 车队(车队号,名称,地址) 司机(司机号,姓名,执照号,电话,工资) 车辆(车牌号,车型,颜色,载重) 保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址) 开销(顺序号,费用类型,费用,日期,经手人) 实体之间有7个联系,其中6个是1:N联系,1个是M:N联系。其中联系的属性如下:

调用(出车编号,出车日期,车程,费用,车辆数目) 保险1(投保日期,保险种类,费用) 保险2(投保日期,保险种类,费用) 进而,读者可以很容易地转换成关系模式集。 解:根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:N联系转换成1个关系模式,共8个关系模式,如下:部门(部门号,名称,负责人) 车队(车队号,名称,地址) 司机(司机号,姓名,执照号,电话,工资,车队号, 保险公司号,投保日期,保险种类,费用)车辆(车牌号,车型,颜色,载重,车队号,保险公 司号,投保日期,保险种类,费用,维修公司 号) 保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址) 开销(顺序号,车牌号,费用类型,费用,日期,经手人) 调用(出车编号,车队号,部门号,出车日期,车程,费用,车辆数目)

人事管理信息系统 人事管理信息系统中涉及到职工、部门、岗位、技能、培训课程、奖惩记录等信息。其ER图如图7.9所示。 M 图7.9 这个ER图有7个实体类型,其属性如下: 职工(工号,姓名,性别,年龄,学历) 部门(部门号,部门名称,职能) 岗位(岗位编号,岗位名称,岗位等级) 技能(技能编号,技能名称,技能等级) 奖惩(序号,奖惩标志,项目,奖惩金额) 培训课程(课程号,课程名,教材,学时) 工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税) 这个ER图有7个联系类型,其中1个1:1联系,2个1:N 联系,4个M:N联系。联系类型的属性如下:

ER图练习(答案)

图练习题

大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲; 每位教师可讲授多门课程。其不完整的E-R图如图所示。 1.指出学生与课程的联系类型。 2.指出课程与教师的联系类型。 3.若每名学生有一位教师指导,每个教师指导多名学生, 则学生与教师是何联系? 4.在原E-R图上补画教师与学生的联系,并完善E-R图。 学生课程

大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。其不完整的E-R 图如图所示。1.指出学生与课程的联系类型。2.指出课程与教师的联系类型。 3.若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系? 4. 在原E-R 图上补画教师与学生的联系,并完善E-R 图。 学生选修 讲授教师 课程 指导 1 m n m n m

地址 例二、将ER 图转换为关系模式 将ER 图转换为关系模式 单位 聘用 职工 1m 单位号 单位(单位号,地址,电话) 职工号姓名电话 性别年龄

1.职工:职工号、姓名、地址 2.部门:部门号、部门名、经理 3.产品:产品编号、产品名 4. 制造商:制造商号、制造商名、地址 一个部门可以有很多职工,一个职工仅在一个部门工作;一个部门可销售多种产品,这些产品也在其它部门销售;制造商生产多种产品,其它制造商也制造这些产品。不同的制造商制造的相同产品,型号和价格可能不同 部门 销售 生产 制造商 产品 职工 从属 m 1 m n n m 请完成如下处理:1、设计满足上 述要求的E-R 图。 2、将该E-R 图转 换为等价的关系模式。3、用下划线标 明每个关系中的主键。 型号价格

ER图画法

如何画数据库ER图 数据库设计中重要的一环首先就是概念设计,也就是说,要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律——即画出数据结构图——ER图。这是数据库设计的重点,也是数据库设计的难点。 那么,如何才能正确地反映客观现实,将ER图画好呢? 答案是,必须进行正确的需求分析。那么如何进行需求分析呢?需求分析一般有两种方法,一种是结构化分析(SA),一种是面向对象分析(OOA).通过这两种方法的实施以后,都可以得到比较正确的ER图。现在以下面的实际问题为例,通过结构化分析(SA)方法的应用,讲述如何得到比较正确的ER图。 校务管理系统ER图画法如下步骤: 在要建立的系统中,有以下功能: 1.管理老师的功能:录入老师情况(姓名.地址.所教课程), 老师缺课记录(名字.时间.原因. 课程) 2.管理学生的功能: 录入学生情况 ( 姓名 . 所选课程 . 成绩 ) 3.教务主任的功能 : 查询统计 1: 教师情况 2: 学生总成绩 3: 学生平均成绩 要求: 1)用结构化方法画出系统顶层图、 0 层图,数据字典。 2)画出该系统的数据模型ER图。 一、结构化分析的需求分析 1)分析实际情况 根据实际情况,我们得到一下情况: (一)教师任课流程:

(二)学生选择课程流程: 2)画数据流图 (一、)顶层数据流图

3)画数据字典DD (略)和软件初始结构图 1基本数据=学生基本信息|教师基本信息|课程基本信息|教室基本信息 2教师任课信息=教师任课数据|教师考勤信息 3学生选课请求和成绩=学生选课请求|学生成绩 学生基本信息=学号+姓名+性别+年龄+专业+班级 。。。。。。 4

相关文档