数据库管理系统-快速入门-ER图模型

什么是ER模型?

ER或(实体关系模型 Entity Relational Model)是一个高级概念数据模型图。 实体 - 关系模型基于现实世界实体的概念以及它们之间的关系。

ER建模可帮助您系统地分析数据需求,以生成设计良好的数据库。 因此,在实现数据库之前完成ER建模被认为是最佳实践。

 
Sample ER Diagram

ER模型的历史

ER图是一种可视化工具,有助于表示ER模型。 1971年Peter Chen提出建立可用于关系数据库和网络的统一约定。 他的目标是使用ER模型作为概念建模方法。

什么是ER图?

实体关系图显示存储在数据库中的实体集的关系。 换句话说,我们可以说ER图可以帮助您解释数据库的逻辑结构。 初看起来,ER图看起来与流程图非常相似。 但是,ER图包含许多专用符号,其含义使该模型独一无二。

  • ER模型允许您绘制数据库设计
  • 易于使用的图形工具,用于建模数据
  • 广泛用于数据库设计
  • 数据库逻辑结构的GUI表示
  • 识别系统中存在的实体以及这些实体之间的关系

为什么要使用ER图?

  • 定义与实体关系建模相关的术语
  • 预览所有表的连接方式,每个表上的字段
  • 帮助描述实体,属性,关系
  • ER图可以转换为关系表,允许您快速构建数据库
  • 数据库设计人员可以使用ER图作为在特定软件应用程序中实现数据的蓝图
  • 借助ERP图,数据库设计人员可以更好地理解数据库中包含的信息
  • 允许ERD与用户的数据库逻辑结构进行通信

ER图的组成部分

该模型基于三个基本概念:

实体
属性
关系

Components of the ER Diagram

例如,在大学数据库中,我们可能有学生,课程和讲师的实体。 学生实体可以具有Rollno,Name和DeptID等属性。 他们可能与课程和讲师有关系。

什么是实体?

它可能是一个物理的东西,或者仅仅是关于企业或现实世界中发生的事件的事实。

实体可以是地点,人物,对象,事件或概念,它将数据存储在数据库中。 实体的特征必须具有属性和唯一键。 每个实体都由一些代表该实体的“属性”组成。

实体示例:

  • 人:员工,学生,病人
  • 地点:商店,建筑
  • 对象:机器,产品和汽车
  • 事件:销售,注册,续订
  • 概念:帐户,课程

实体的表示法

实体集:

学生:实体集是一组类似的实体。 它可能包含属性共享相似值的实体。 实体由其属性表示,也称为属性。 所有属性都有各自的值。 例如,学生实体可以具有姓名,年龄,类别作为属性。

实体示例:

大学可能有一些部门。 所有这些部门都聘请了各种讲师并提供了几个课程。学生在特定课程中注册并注册各种课程。 来自特定部门的讲师参加每门课程,每位讲师都会教授不同的学生群体。

关系

关系只不过是两个或多个实体之间的联系。 例如,汤姆在化学系工作。

实体参与关系。 我们经常可以识别动词或动词短语的关系。

例如:

  • 你正在参加这个讲座
  • 我正在讲课
  • 只是loke实体,我们可以根据关系类型对关系进行分类:
  • 一名学生参加讲座
  • 讲师正在讲课。

弱实体

弱实体是一种没有键属性的实体。 可以通过考虑另一个实体的主键来唯一地识别它。

 
Weak Entities

在一个例子中,“Trans No”是ATM中一组交易中的鉴别器。

让我们通过将它与强实体进行比较来了解更多有关弱实体的信息

强实体集弱实体集
强实体集始终具有主键。它没有足够的属性来构建主键。
它由矩形符号表示。它由双矩形符号表示。
它包含由下划线符号表示的主键。它包含一个部分键,由虚线下划线符号表示。
强实体集的成员称为主实体集。弱实体集的成员称为从实体集。
主键是其有助于识别其成员的属性之一。在弱实体集中,它是强实体集的主键和部分键的组合。
在ER图中,使用菱形符号显示两个强实体集之间的关系。通过使用双菱形符号显示的一个强实体和弱实体组之间的关系。
设置关系的强实体的连接线是单一的。连接弱实体集以识别关系的线是双倍的。

属性

它是实体类型或关系类型的单值属性。

 
Attributes

例如,讲座可能有属性:时间,日期,持续时间,地点等。

属性由椭圆表示

**属性类型****描述**
**简单的属性**简单属性不能再进一步划分。 例如,学生的联系电话。 它也被称为原子价值。
**复合属性**可以分解复合属性。 例如,学生的全名可以进一步分为名字,名字和姓氏。
**派生属性**此类属性不包括在物理数据库中。 但是,它们的值来自数据库中存在的其他属性。 例如,不应直接存储年龄。 相反,它应该来自该员工的出生日期。
**多值属性**多值属性可以包含多个值。 例如,学生可以拥有多个手机号码,电子邮件地址等。

基数

定义两个实体或实体集之间关系的数字属性。

不同类型的主要关系是:

一对一的关系
一对多的关系
愿与一个人的关系
多对多关系

 
Cardinality
  • 一对一的关系:

来自实体集合X的一个实体可以与实体集合Y的至多一个实体相关联,反之亦然。

示例:一名学生可以注册多个课程。 但是,所有这些课程只有一行回到那个学生。

  • 一对多的关系

来自实体集合X的一个实体可以与实体集合Y的多个实体相关联,但是来自实体集合Y的实体可以与至少一个实体相关联。

例如,一个班级由多个学生组成。

  • 多对一

来自实体集合X的多于一个实体可以与实体集合Y的至多一个实体相关联。然而,来自实体集合Y的实体可以与实体集合X中的多于一个实体相关联,也可以不与之相关联。

例如,许多学生属于同一个班级。

  • 多对多:

来自X的一个实体可以与来自Y的多个实体相关联,反之亦然。

例如,作为一个群体的学生与多个教师相关联,并且教师可以与多个学生相关联。

ER-图表符号

ER-图表是描述数据如何相互关联的数据的直观表示。

  • 矩形:此符号表示实体类型
  • 椭圆:符号 代表属性
  • 菱形:这个符号 代表关系类型
  • 线:它将属性与实体类型和实体类型与其他关系类型相关联
  • 主键:属性带下划线
  • 双椭圆:表示多值属性
 
ER- Diagram Notations

创建ERD的步骤

 
Steps to Create an ERD

让我们用一个例子来研究它们:

在大学里,学生就读于课程。 必须将学生分配到至少一门或多门课程。 每门课程由一位教授授课。 为了保持教学质量,教授只能提供一门课程

实体识别

我们有三个实体

  • 学生
  • 课程
  • 教授
关系识别

我们有以下两种关系

  • 学生被分配了一门课程
  • 教授开设了一门课程
基数识别

对于他们的问题陈述,我们知道,

  • 可以为学生分配多个课程
  • 教授只能提供一门课程
识别属性

您需要研究组织当前维护的文件,表单,报告和数据,以识别属性。 您还可以与各利益相关方进行面谈,以确定实体。 最初,识别属性而不将其映射到特定实体非常重要。

一旦有了属性列表,就需要将它们映射到已识别的实体。 确保要将属性与一个实体配对。 如果您认为属性应属于多个实体,请使用修饰符使其唯一。

映射完成后,识别主键。

对于课程实体,属性可以是持续时间,学分,作业等。为了方便起见,我们只考虑了一个属性。

创建ERD

ERD图的更现代的表示

 
Create the ERD

制定有效的ER图的最佳实践

  • 消除任何冗余实体或关系
  • 确保所有实体和关系都已正确标记
  • ER图可能有各种有效的方法。 您需要确保ER图支持您需要存储的所有数据
  • 确保每个实体仅在ER图中出现一次
  • 命名每个关系,实体和属性都在图表中表示
  • 永远不要将关系彼此联系起来
  • 使用颜色突出显示ER图的重要部分

小结

  • ER模型是高级数据模型图
  • ER图是一种可视化工具,有助于表示ER模型
  • 实体关系图显示存储在数据库中的实体集的关系
  • ER图可帮助您定义与实体关系建模相关的术语
  • ER模型基于三个基本概念:实体,属性和关系
  • 实体可以是地点,人物,对象,事件或概念,它将数据存储在数据库中
  • 关系只不过是两个或多个实体之间的联系
  • 弱实体是一种没有其关键属性的实体,实体类型或关系类型的单值属性,可以帮助您定义两个实体或实体集之间关系的数字属性
  • ER-图表是描述数据如何相互关联的数据的直观表示
  • 在绘制ER图时,您需要确保所有实体和关系都已正确标记。
 来源:https://www.jianshu.com/p/151b0443602f