[轉]E-R模型

From : http://baike.baidu.com/view/1282929.htm

 

概述  实体-联系模型(简称E-R模型)是由P.P.Chen于1976年首先提出的。它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。E-R数据模型问世后,经历了许多修改和扩充。

E-R模型的结构

  E-R模型的构成成分是实体集、属性和联系集,其表示方法如下:

  (1) 实体集用矩形框表示,矩形框内写上实体名。

  (2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。

  (3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。

  因此,E-R模型也称为E-R图。例如系、学生和课程的联系的E-R模型

  系、学生和课程作为实体集;一个系有多个学生,而一个学生仅属于一个系,所以系和学生之间是一对多的联系;一个学生可以选修多门课程,而一门课程有多个学生选修,所以学生和课程之间是多对多的联系。

E-R模型对几种特殊的实体联系的表示

  E-R模型在表示复杂实体和实体之间的复杂联系方面有较强的能力。除了可以明确表示二个实体集之间1—1、1—N或M—N的联系。还可以:

  (1) 表示三个以上的实体集之间的联系。

  例如,一个售货员(Salesperson)可以将多种商品(Goods)售给一个顾客(Customer),而一个售货员也可以将一种商品售给多个顾客;一个顾客的一种商品可以由多个售货员经售。售货员、商品和顾客三个实体集之间的联系是多对多的三元联系。

  (2) 表示一个实体集内部的联系

  例如,雇员(EMP)这个实体集中,总经理下设多个部门经理,而部门经理下面有多个雇员。因此,雇员这个实体集中实体之间存在一对多的联系。

  (3) 表示二个实体集之间的多种联系

  例如,雇员(EMP)和设备(EQUIP)之间可以有多种联系,一种联系是一个设备可以由多个雇员操作(operation),另一种联系是一个雇员可以维修(maintain)多个设备。 

  作E-R图的步骤:

  (1) 确定实体和实体的属性

  (2) 确定实体之间的联系及联系的类型

  (3) 给实体和联系加上属性

  如何划分实体及其属性有两个原则可作参考:一是作为实体属性的事物本身没有再需要刻画的特征而且和其它实体没有联系。二是属性的一个值可以和多个实体对应,而不是相反。尽管E-R模型中的属性可以是单值属性也可以是多值属性,为简单计算,多值属性常常被作为多个属性或作为一个实体。

  例如,职工和部门,一般情况下,一个部门有多个职工,而一个职工仅属于一个部门。所以职工应作为实体,而部门既可作为职工的属性——部门本身仅有一个名称;也可以作为实体——部门具有部门号、部门名称及电话等。再如,职工和工种,一个工种有多个职工,而一个职工仅属于一个工种,所以职工应作为实体,而工种既可作为职工的属性——工种本身仅有一个名称;也可以作为实体——工种和其它实体。

  如何划分实体和联系也有一个原则可作参考:当描述发生在实体集之间的行为时,最好采用联系集。例如,读者和图书之间的借、还书行为,顾客和商品之间的购买行为,均应该作为联系集。

  如何划分联系的属性:一是发生联系的实体的标识属性应作为联系的缺省属性,二是和联系中的所有实体都有关的属性。例如,学生和课程的选课联系中的成绩属性,顾客、商品和雇员之间的销售联系中的商品的数量等。

E-R 模型的特点

  Entities:实体

  Attributes:属性

  Relationships:关系

  通常有许多表

  通常是满足3NF的

  主键/ 外键

  1对多映射

  建立E-R模型是数据库概念设计的重要内容,而概念设计是设计阶段的组成部分。同时建立E-R模型的工作,属于软件生命周期的设计阶段。

posted @ 2011-08-22 11:26  Athrun  阅读(366)  评论(0编辑  收藏  举报