ER模型
ER模型,全称为实体联系模型、实体关系模型或实体联系模式图(ERM)(英语:Entity-relationship model)由美籍台湾人计算机科学家陈品山发明,是概念数据模型的高层描述所使用的数据模型或模式图。
ER模型常用于信息系统设计中;比如它们在概念结构设计阶段用来描述信息需求和/或要存储在数据库中的信息的类型。但是数据建模技术可以用来描述特定论域(就是感兴趣的区域)的任何本体(就是对使用的术语和它们的联系的概述和分类)。在基于数据库的信息系统设计的情况下,在后面的阶段(通常叫做逻辑设计),概念模型要映射到逻辑模型如关系模型上;它依次要在物理设计期间映射到物理模型上。注意,有时这两个阶段被一起称为“物理设计”。
实体联系模式图(ERD)有一些约定。本文的余下部分描述经典概念,并且主要与概念建模有关。有一些概念更加典型的在逻辑和物理数据库设计中采用,包括信息工程、IDEF1X和空间建模。
常用符号
[编辑]实体(Entity)表示一个离散对象。实体可以被(粗略地)认为是名词,如计算机、雇员、歌曲、数学定理。联系描述了两个或更多实体相互如何关联。联系可以被(粗略地)认为是动词,如:在公司和计算机之间的拥有关联,在雇员和部门之间的管理关联,在演员和歌曲之间的表演关联,在数学家和定理之间的证明关联。实体绘制为矩形,联系绘制为菱形。
实体和联系都可以有特性,如雇员实体可以有一个社会保障号码特性(在美国);证明关联可以有一个日期特性。特性绘制为椭圆形并通过一条线与所属的实体相连。
每个实体(除非是弱实体)都必须有一个唯一标识特性的最小化集合。这个集合叫做实体的主键。
实体联系图不展示单一的实体或联系的单一的实例。它们展示实体集合和联系集合(分别显示为矩形和菱形),如特定的歌曲是实体。在数据库中所有歌曲的搜集是一个实体集合。在安德鲁·怀尔斯及费马最后定理之间的证明联系是一个单一联系。所有这种数学家-定理联系的集合是一个联系集合。
线条绘制于实体集合和它们所参与的联系集合之间。如果在实体集合中所有实体都必须在联系集合中参与一个联系,则绘制双线。这叫做“参与约束”。如果实体集合的每个实体可以在联系集合中参与最多一个联系,则在二者之间绘制一个箭头。这叫做键约束。要指示在实体集合中每个实体都必须参与恰好一个联系,则绘制粗线。
使用关联实体来解决有多对多联系的两个实体的问题。
还可以在联系集合上指明特定的势约束。
不常用符号
[编辑]弱实体是不能用它自己的特性唯一标识的实体,所以必须用它自己的特性和与之有关的实体的主键二者作为它的主键。弱实体集合指示为粗矩形(实体),透过一个粗箭头把它连接到一个粗菱形(联系)上。
有时两个实体是一个更一般的实体类型的更特殊化的子类型。例如,程序员和营销员都是软件公司的雇员的类型。要指示这种关联,绘制其中带有 "ISA" 的三角形。超类是连接到顶点上而两个(或更多)子类连接到底边上。
最后,透过聚集(aggregation),一个联系和所有它的参与实体集合可以被当作一个单一的实体集合,目的是让它可以参与另一个关联。这可以指示为在所有聚集的实体和联系之外绘制一个虚矩形。
分类
[编辑]实体联系的模型可以依据是否只允许二元联系而分类为 BERM(二元实体关联模型)和 GERM(一般实体联系模型)。二元联系是在两个实体之间的联系。所以,在 GERM 中在在三个或更多实体之间的联系也是允许的。
参见
[编辑]引用
[编辑]- Peter P. Chen, The Entity-Relationship Model - Toward a Unified View of Data. ACM Transactions on Database Systems (TODS) Volume 1 Number 1: pp 9-36(1976)https://dl.acm.org/citation.cfm?id=320440&dl=ACM&coll=DL[1]需付费取得密码,才能查看全文
- 本文是计算机领域被引用最多的论文之一。 在对 1,000 多个计算机科学教授做的一次新近的调查中,它被选举为在计算机科学中最有影响的论文之一。例如,在 DBLP:http://dblp.uni-trier.de/(页面存档备份,存于互联网档案馆) [2](页面存档备份,存于互联网档案馆) 所列出的引用。
外部链接
[编辑]- Dia(页面存档备份,存于互联网档案馆) - 绘制 ER 图的开源软件
- Gershwin download at CSE2132 from Monash University - Gershwin 是 Monash University 开发的实体联系建模工具。
- 陈品山在路易斯安那州立大学的主页 http://bit.csc.lsu.edu/~chen/chen.html (页面存档备份,存于互联网档案馆)
- IDEF1X
- DB Visual Architect