实体关系 (ER) 图是一种流程图,用于说明系统中的“实体”(例如人、对象或概念)如何相互关联。ER 图最常用于设计或调试软件工程、商业信息系统、教育和研究领域的关系数据库。它们也称为 ERD 或 ER 模型,使用一组定义的符号(例如矩形、菱形、椭圆形和连接线)来描述实体、关系及其属性的相互关联。它们反映了语法结构,实体为名词,关系为动词。
实体关系图模板
ER图模板(点击图片可在线修改)
ER 图与数据结构图 (DSD) 相关,后者侧重于实体内元素的关系,而不是实体本身之间的关系。ER 图也经常与数据流图(DFD) 结合使用,后者绘制流程或系统的信息流。
数据流图模板
数据流图模板(点击图片在线修改)
ER 模型的历史
彼得·陈(Peter Chen,又名 Peter Pin-Shan Chen)是匹兹堡卡内基梅 印度手机号 隆大学的退休教员,他因在 20 世纪 70 年代开发数据库设计的 ER 模型而受到赞誉。在担任麻省理工学院斯隆管理学院助理教授期间,他于 1976 年发表了一篇开创性的论文,题为“实体关系模型:迈向统一的数据视图”。
从更广义上讲,对事物相互联系的描述至少可以追溯到古希腊,当时有亚里士多德、苏格拉底和柏拉图的作品。最近,这种描述出现在 19 世纪和 20 世纪哲学家兼逻辑学家查尔斯·桑德斯·皮尔斯和戈特洛布·弗雷格的作品中。
到了 20 世纪 60 年代和 70 年代,查尔斯·巴赫曼 (Charles Bachman) (上图) 和 APG Brown 开始研究陈氏方法的前辈。巴赫曼开发了一种称为巴赫曼图的数据结构图。
布朗发表了关于现实世界系统建模的著作。詹姆斯·马丁添加了 ERD 改进。陈、巴赫曼、布朗、马丁等人的工作也为统一建模语言 (UML) 的发展做出了贡献,该语言广泛应用于软件设计。
实体关系图的用途
实体关系图有多种用途,从数据库设计和故障排除到教育和研究。由于 ERD 定义并说明了系统中的实体及其关系,因此它们对于工程师和开发人员可视化和记录其数据库特别有用。
以下是工程师和其他操作员使用实体关系图的几种方法:
数据库设计: ER 图用于对关系数据库进行建模和设计,包括逻辑和业务规则(在逻辑数据模型中)以及要实施的特定技术(在物理数据模型中)。在软件工程中,ER 图通常是确定信息系统项目需求的初始步骤。它随后还用于对特定数据库进行建模。关系数据库具有等效的关系表,并且可以根据需要以这种方式表示。
数据库故障排除: ER 图用于分析现有数据库,以查找和解决逻辑或部署问题。绘制图表应该能揭示问题所在。
业务信息系统:这些图表用于设计或分析业务流程中使用的关系数据库。任何使用涉及实体、操作和相互作用的现场数据的业务流程都可以从关系数据库中受益。它可以简化流程、更轻松地发现信息并改善结果。
业务流程再造 (BPR): ER 图有助于分析业务流程再造中使用的数据库并建模新的数据库设置。
教育:数据库是当今用于教育目的和以后检索的关系信息存储方法,因此 ER 图在规划这些数据结构时很有价值。
研究:由于许多研究都集中于结构化数据,因此 ER 图在建立有用的数据库来分析数据方面可以发挥关键作用。
ER 图的组成部分和特点
ER 图有三个主要组成部分:实体、关系和属性。ER 图还描述了基数,它用数字来定义关系。以下是词汇表:
实体
可定义的事物(例如人、物体、概念或事件),可以存储有关它的数据。将实体视为名词。例如:客户、学生、汽车或产品。实体通常表示为矩形。
实体
实体类型:一组可定义的事物,例如学生或运动员,而实体将是特定的学生或运动员。其他示例:客户、汽车或产品。
实体集:与实体类型相同,但定义在特定时间点,例如第一天报名参加课程的学生。其他示例:上个月购买汽车的客户目前在佛罗里达州注册。相关术语是实例,其中特定的人或汽车将是实体集的实例。
实体类别:实体分为强实体、弱实体和关联实体。强实体可以仅通过其自身属性来定义,而弱实体则不能。关联实体将实体集内的实体(或元素)关联起来。
实体类别
实体键:指唯一定义实体集中实体的属性。实体键可以是超级实体、候选实体或主要实体。
超键:一组属性(一个或多个),它们共同定义实体集中的实体。
候选键:最小超键,即它具有尽可能少的属性,但仍可作为超键。实体集可能有多个候选键。
主键:数据库设计者选择的用于唯一标识实体集的候选键。
外键:标识实体之间的关系。
关系
实体如何相互作用或相互关联。将关系视为动词。例如,指定的学生可能会注册一门课程。这两个实体将是学生和课程,所描绘的关系是注册的行为,以这种方式连接两个实体。关系通常显示为连接线上的菱形或标签。
实体关系
递归关系:同一个实体多次参与关系。换句话说,两个相似实体之间的关系被视为递归关系。例如,员工和经理之间的关系是递归关系,因为他们都是员工。
属性
实体的属性或特征。通常显示为椭圆或圆形。
什么是实体关系图?
-
- Posts: 6
- Joined: Sun Dec 22, 2024 5:16 am