ER模型,全称为实体联系模型、实体关系模型或实体联系模式图(ERD)(英语:Entity-relationship model)由美籍华裔计算机科学家
陈品山发明,是
概念数据模型中高层描述所使用的
数据模型或
模式图。
关系图含义
E-R图为实体-联系图,提供了表示
实体型、属性和联系的方法,用来描述现实世界的
概念模型。实体关系图表示在信息系统中概念模型的数据存储。
构成
实体型(Entity)
用矩形表示,矩形框内写明实体名;比如学生
张三丰、学生李寻欢都是实体。
属性(Attribute)
用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
联系(Relationship)
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)就是指存在的三种关系(一对一,一对多,多对多)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。
弱实体
弱实体(weak entity)是一种数据库系统术语。其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。
作图步骤
(1)确定所有的实体集合;
(2)选择实体集应包含的属性;
(3)确定实体集之间的联系;
(4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合;
(5)确定联系的类型,再用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。
转换原则
转换为关系模式的原则
1、一个实体转化为一个关系模式。实体属性就是关系的属性,实体的码就是关系的码。
2、一个1:1联系可以转化为一个独立的关系模式,也可以与任意一端所对应的关系合并。
3、一个1:n联系可以转化为一个独立的关系模式,也可以与任意n端所对应的关系合并。
4、一个m:n联系转化为一个独立的关系模式。
5、三个或三个以上实体间的多元联系可以转换为一个关系模式。
6、具有相同码的关系模式可以合并。
常用符号
实体(Entity)表示一个离散对象。实体可以被(粗略地)认为是
名词,如计算机、雇员、歌曲、数学定理。
关系描述了两个或更多实体相互如何关联。联系可以被(粗略地)认为是
动词,如:在公司和计算机之间的拥有关联,在雇员和部门之间的管理关联,在演员和歌曲之间的表演关联,在数学家和定理之间的证明关联。
实体和联系都可以有属性,如雇员实体可以有一个
社会保障号码属性,证明关联可以有一个日期属性。
每个实体(
弱实体除外)都必须有一个唯一标识属性的最小化集合,这个集合叫做实体的
主键。
实体联系图不展示单一的实体或联系的单一的实例。它们展示的是实体集合和联系集合(矩形和菱形),如特定的歌曲是实体,在数据库中所有歌曲的搜集是一个实体集合。在
安德鲁·怀尔斯及
费马最后定理之间的证明联系是一个单一联系,所有这种数学家-定理联系的集合是一个联系集合。
线条绘制于实体集合和它们所参与的联系集合之间。如果在实体集合中所有实体都必须在联系集合中参与一个联系,则绘制粗线,被称为
参与约束。如果实体集合的每个实体可以在联系集合中参与最多一个联系,则绘制从这个实体集合到联系集合的一个箭头,被称为键约束。要指示在实体集合中每个实体都必须精确地参与一个联系,则绘制粗箭头。
关联实体被用来解决有多对多联系的两个实体问题。一元联系是在一个单一的表格的行之间的联系。
不常用符号
弱实体是不能用它自己的属性唯一标识的实体,所以必须用它自己的属性和与之有关的实体的主键二者作为它的主键。弱实体集合指示为粗矩形(实体),通过一个粗箭头把它连接到一个粗菱形(联系)上。
超类是连接到顶点上而两个(或更多)
子类连接到底边上。
聚集是指将一个联系和所有它的参与实体集合可以被当作一个单一的实体集合,目的是让它可以参与另一个关联,这可以在所有聚集的实体和联系之外绘制一个虚矩形表示。
分类
实体联系的模型可以依据是否只允许二元联系而分类为 BERM(二元实体关联模型)和 GERM(一般实体联系模型),BERM是指在两个实体之间的联系,所以GERM 允许三个或更多实体之间的联系。
参见