E-R图

来源:互联网 发布:还珠格格 中视版源码 编辑:程序博客网 时间:2024/06/12 18:04

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;

用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。

组成
在ER图中有如下四个成分:
矩形框:表示实体,在框中记入实体名。
菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
构图要素:
构成E-R图的3个基本要素是实体型、属性和联系,其表示方法为:
       实体:一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体。如果是弱实体的话,在矩形外面再套实线矩形。

属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。
      联系:联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。
一般性约束:
实体-联系数据模型中的联系型,存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束:
(1) 一对一联系(1 ∶1)
对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。
例:一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对一联系。
(2) 一对多联系(1 ∶N)
对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。
例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。一个专业中有若干名学生,而每个学生只在一个专业中学习,则专业与学生之间具有一对多联系
(3) 多对多联系(M ∶N)
对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系
例如,表示学生与课程间的联系“选修 ”是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学
生来学。联系也可能有属性。例如,学生“ 选修” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“ 选修”的属性。
实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。[2] 联系是随着数据库语义而改变的,假如有如下3种语义规定:
例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
一个员工可以同时是多个部门的经理,而一个部门只能有一个经理,则这种规定下“员工”与“部门”之间的“管理”联系就是1:n的联系了。
一个员工可以同时在多个部门工作,而一个部门有多个员工在其中工作,则“员工”与“部门”的“工作”联系为m:n联系
弱实体:
在实际情况中并非总有一个属性是键,为描述这类情况,E-R图引入了弱实体元素。即没有键属性的实体型。例如本地电话号码、寝室等(如果其仅按照顺序编号的话),对应地,存在键属性的实体型则为强实体型。
作图步骤:
(1)确定所有的实体集合;
(2)选择实体集应包含的属性;
(3)确定实体集之间的联系;
(4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合;
(5)确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。