E-R图简介


E-R图可以认为是关系模型的雏形,每个实体是一张表,实体与实体之间的关系可以合并到其中一个实体中,也可以是另外一张表,关系表和相关的实体表是通过主键或外键来联系的。

画E-R图首先要了解3个要素即:实体,属性,关系。

实体

用矩形表示,矩形框内写明实体名。

属性

用椭圆形表示,椭圆内写明属性名称,并用连线与实体连接起来。如果属性较多,为使图形更加简明,有时也将实体与其相应的属性另外单独用列表表示。

联系

用菱形表示,菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在连线旁标上联系的类型。

E-R图设计步骤

(1)一个实体转换为一个关系模式,

实体的属性就是关系的属性,实体的码就是关系的码。

例如:将学生实体转换为关系模式

学生(学号,姓名,性别,出生日期)

Student(SID,Sname,Sex,Birthday,Specialty

(2)将联系转换为关系模式的方法

1:1联系

将联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。

例如:实体学校(学校编号,名称)与校长(编号,姓名)之间的任职联系是1:1的联系。

E-R图_数据库

1:n联系

将联系与n端实体所对应的关系模式合并,加入1端实体的码和联系的属性。

例如:读者和读者类型实体的联系是1:n的。

E-R图_数据建模_02

Reader(RID,Rname, TypeID, Lendnum )

ReaderType(TypeID, Typename,LimitNum, LimitDays)

M:N联系

将M:N联系转换成一个关系模式。将该联系相连的各实体的码和联系本身的属性转换为关系的属性

例如:教务管理中选课的E-R模型如图所示,学生和课程的联系是多对多的。

学生实体的码为SID,课程实体的码为CID,联系本身的属性为Grade。

注意:要将联系的属性(Grade)在图中画出,在下图中即“成绩”属性

E-R图_数据库_03

Student(SID,Sname,Sex,Birthday,Specialty)

Course(CID, Cname,Credit)

SC(SID, CID,Grade)



二、主要举两个例子:

1、图书借阅管理系统

1.1数据库要求提供下述服务:

(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。
(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。
约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。

1.2数据建模:

(1)满足上述需求的E-R图如图:

E-R图_数据建模_04


(2)转换为等价的关系模式结构如下:

    借书人(借书证号,姓名,单位)

    图书(书号,书名,数量,位置,出版社名)

    出版社(出版社名,电报编号,电话,邮编,地址)

    借阅(借书证号,书号,借书日期,还书日期)

 

2、学生选课管理系统


2.1数据库要求提供下述服务:


(1)数据库需要有以下信息:

学生:学号、单位名称、姓名、性别、年龄、选修课程名

课程:编号、课程名、开课单位、任课教师号

教师:教师号、姓名、性别、职称、讲授课程编号

单位:单位名称、电话、教师号、教师姓名

(2)上述实体中存在如下联系:

         1)一个学生可选修多门课程,一门课程可被多个学生选修。

         2)一个教师可讲授多门课程,一门课程可由多个教师讲授。

         3)一个单位可有多个教师,一个教师只能属于一个单位。

2.2数据建模

(1)学生选课局部E-R图如图:

E-R图_数据建模_05

(2)教师任课局部E-R图如图:


E-R图_E-R图_06

(3)合并的全局E-R图如图:

E-R图_数据库_07

(4)该全局E-R图转换为等价的关系模式表示的数据库逻辑结构如下:

教师(教师号,姓名,性别,职称,单位名称)

课程(课程编号,课程名,单位名称)

 

三、E-R图绘制工具


这里就简单介绍4种,供大家参考

1.Visio

1.1适用对象: IT 和商务专业人员

1.2适用事务:就复杂信息、系统和流程进行可视化处理、分析和交流。使用具有专业外观的 Office Visio 图表,促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。

2.PowerDesigner

2.1适用类型:是Sybase公司的CASE工具集

2.2适用事务:使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。

3.Erwin

3.1适用类型:数据建模工具,是关系数据库应用开发的优秀CASE工具。

3.2适用事务:支持各主流数据库系统,其设计图支持MS office的直接拷贝。ERwin也能与CA的Model Mart集成,满足企业建模的需求。

4.SmatDraw

4.1适用类型:商业绘图软件

4.2适用事务:是世界上最流行的。轻松的绘制具有专业水准的商业图。