实体关系模型的介绍

847 阅读4分钟

在这篇文章中,我们已经深入介绍了实体关系模型以及实体、属性、符号等基础知识。我们介绍了一个工作门户数据库的实体关系模型的例子。

内容表

  1. 什么是实体关系模型?
  2. 实体和属性
  3. 关系
  4. 实体的映射
  5. ER图的符号
  6. 钥匙
  7. 将ER模型转换为关系模型

让我们开始吧。

什么是实体关系模型?

实体关系模型(或ER模型)是数据库模型的图形化表示。

在开发一个系统之前,它经常被用来设计该系统。你可以把它想象成建房前的房屋蓝图。

这是一种标准的技术,每个开发人员都不应该这样做,以使他们能够在开发团队中自由地传达他们的想法。这种模式可以帮助开发者按照设计来实际实现系统。

为了给你一个概念,这是一个实体关系模型的例子:

Entity relationship model example

实体和属性

实体是现实世界中的一个 "东西 "或 "对象"。每个实体都有一些属性。这些属性被称为属性(Attributes)。

属性的类型:

  • 简单属性和复合属性

  • 单值和多值属性

  • 衍生属性

  • 简单属性和复合属性--复合属性是一种可以被划分为子部分或子属性的属性。例如,"位置 "可以被细分为"门牌号""街道名称""城市""州"和*"国家 "*等部分。简单属性是不能被划分为子部分的属性。

  • 单值多值属性--有单个值的属性被称为单值,有多个值的属性被称为多值属性。例如,像*"雇员ID "这样的属性总是有单一的值,因此是单值的,而像"电话号码 "*这样的属性是多值的,因为一个条目可以有多个电话号码。

  • 派生属性 - 这些属性可以从其他属性派生出来。例如,像*'年龄'这样的属性可以从'出生日期'*派生。

关系

关系是用来描述模型中实体之间的 "关系"。
有不同类型的关系的重要性:

  • 一对一
  • 一对多
  • 多对一
  • 多对多

让我们有两个实体集XY

  • 一对一:当X中的一个实体只与Y中的一个实体相关联。
  • 一对多:当X中的一个实体与Y中的一个以上的实体相关联。
  • 多对一: 当X中超过一个的实体只与Y中的一个实体相关联。
  • 多对多: 当X中的一个以上的实体与Y中的一个以上的实体相关联。

实体的映射

有两种实体的映射:

  • 名义性
  • 顺序性

向性:一个实体中的实例可以与另一个实体的实例相联系的最大次数。

顺序性:一个实体中的实例可以与另一个实体的实例相联系的最小次数。

*两者都是用连接器在图中描述的,如下所示:

ER图的符号

Notations for ER Diagram

考虑一个工作门户数据库的例子。

Entity relationship model example

这里,*"电话","作者 "*是多值属性,
*"年龄 "*是派生属性,
*"Stu_id","Book_id "*是主键,
"阅读 ""学生 "和 "书 "之间的关系
"Stud_name "

是复合属性。

键是用来唯一地识别数据库中的任何数据条目。
键的类型 :

  • 主键
  • 候选键
  • 超级键
  • 外键
  1. 主键:它在数据库中只能唯一地识别一个条目。例如,在上面的例子中,*"Stu_id "*是主键,因为它对每个学生条目都是唯一的。

  2. 候选键:它是所有适合作为主键的属性。例如,在上面的例子中,*'Stu_id'*是一个候选键。

  3. 超级键:它是一组适合作为主键的属性。例如,在上面的例子中,如果每个学生都有一个新的属性"Aadhar number",那么候选键将是"Stu_id "和 "Aadhar number"。

  4. 外键:当一个表的主键反映了另一个表来连接这些表时,这个键在接收表中被称为外键,在主表中被称为主键。例如,当Book表中的*'Book_id'*转入Student表中时,它在student表中被称为'外键'。

将ER模型转换为关系模型

  • 实体成为表
  • 单值属性成为表的列
  • 主键属性也被显示为列。它只是用下划线显示,以区别于其他属性
  • 多值属性用一个单独的表来表示
  • 复合属性被单独表示为列
  • 衍生属性不被考虑在表中

下面是前面例子的关系图:

Relational diagram for the previous example

通过OpenGenus的这篇文章,你一定对实体关系模型有了深刻的认识。