频道栏目
读书频道 > 数据库 > Oracle > Oracle 11g数据库基础与应用教程
1.2.1 E-R模型
2013-03-09 10:18:23     我来说两句
收藏   我要投稿
Oracle是数据库领域最优秀的数据库系统之一,本书以Oracle 11g为蓝本,系统地讲述了数据库的原理、Oracle 11g的功能和应用。全书共分11章,在讲述数据库原理的基础知识和数据库结构化查询语言SQL的同时,详细地...  立即去当当网订购

概念模型中最著名的是实体联系模型(Entity Relationship Model,E-R模型)。E-R模型是P.P.Chen于1976年提出的。这个模型直接从现实世界中抽象出实体类型及实体间联系,然后用实体联系图(E-R图)表示数据模型。设计E-R图的方法称为E-R方法。E-R图是设计概念模型的有力工具。下面先介绍一下有关的名词术语及E-R图。

1.实体

现实世界中客观存在并可相互区分的事物叫做实体。实体可以是一个具体的人或物,如王伟、汽车等;也可以是抽象的事件或概念,如购买一本图书等。

2.属性

实体的某一特性称为属性。如学生实体有学号、姓名、年龄、性别、系等方面的属性。属性有“型”和“值”之分,“型”即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张立,20,男,计算机)这些属性值的集合表示了一个学生实体。

3.实体型

若干个属性型组成的集合可以表示一个实体的类型,简称实体型。如学生(学号,姓名,年龄,性别,系)就是一个实体型。

4.实体集

同型实体的集合称为实体集。如所有的学生、所有的课程等。

5.码

能唯一标识一个实体的属性或属性集称为实体的码。如学生的学号,学生的姓名可能有重名,不能作为学生实体的码。

6.域

属性值的取值范围称为该属性的域。如学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于40的整数,性别的域为(男,女)。

7.联系

在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来。在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。

实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。

两个实体型之间的联系有如下3种类型。

(1) 一对一联系(1:1)

实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。如班级与班长、观众与座位、病人与床位。

(2) 一对多联系(1:n)

实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。如班级与学生、公司与职员、省与市。

(3) 多对多(m:n)

实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。如教师与学生、学生与课程、工厂与产品。

实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。可以用图形来表示两个实体型之间的这三类联系,如图1.7所示。

在E-R图中有下面4个基本成分:

矩形框,表示实体类型(研究问题的对象)。

菱形框,表示联系类型(实体间的联系)。

椭圆形框,表示实体类型和联系类型的属性。

直线,联系类型与其涉及的实体类型之间以直线连接,用来表示它们之间的联系,并在直线端部标注联系的种类(1:1、1:N或M:N)。


 

相应的命名均记入各种框中。对于实体标识符的属性,在属性名下面画一条横线。

下面通过一个例子来说明设计E-R图的过程。

【例1.1】为图书管理设计一个E-R模型。读者从图书馆借书,图书馆从出版社购书,E-R图的具体建立过程如下。

① 首先确定实体类型。本问题有3个实体类型:读者、书、出版社。

② 确定联系类型。读者和书之间是M:N联系,起名为“借阅”,书和出版社之间是1:N联系,起名为“订购”。

③ 把实体类型和联系类型组合成E-R图。

④ 确定实体类型和联系类型的属性。实体类型读者的属性有:读者编号、读者姓名、读者年龄、性别、系别;实体类型书的属性有:书号、书名、作者、价格;实体类型出版社的属性有:出版社编号、出版社名、出版社地址。联系类型借阅的属性有:借阅日期、归还日期。

⑤ 确定实体类型的键,在E-R图属于键的属性名下画一条横线。具体的E-R图如图1.8所示。


 

E-R模型有两个明显的优点:一是接近于人的思维,容易理解;二是与计算机无关,用户容易接受。因此E-R模型已成为软件工程中的一个重要设计方法。

但是E-R模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构。一般遇到一个实际问题,总是先设计一个E-R模型,然后再把E-R模型转换成计算机已实现的数据模型。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.2 数据模型
下一篇:1.2.2 关系模型
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站