数据库 - 建模:实体关系图(ERD)

 

数据库 - 建模:实体关系图(ERD)

草拟实体及其关系的常用方法。

我们来看一个公司数据库的例子

数据库 - 建模:实体关系图(ERD)_第1张图片

 

实体关系图

实体关系模型,也称为实体关系(ER)图,是实体(将成为您的表)及其相互关系的图形表示。

数据库建模是创建数据模型的过程。

实体

一个简单的矩形块代表一个表。

关系

它使用钻石形状勾勒出来。

数据库 - 建模:实体关系图(ERD)_第2张图片

关系

您可以绘制关系的类型,无论是使用“1-M”的一对多,还是使用“MN”的多对多,或使用“1-1”的一对一。

连接具有关系的实体的线是单线还是双线引用另一个约束(我们之前讨论过)称为“存在依赖性约束”(也称为“参与约束”)。

因此,例如,如果一名员工必须为一个部门工作,这由双线勾画,并称为“全部或强制参与”。如果一名员工可能会或可能不会管理某个部门,则可以通过单行描述并称之为“部分或可选参与”。

关系本身可以具有属性。我们将在哪个表中包含这些属性,将在下一个教程的数据库映射中讨论。

- 递归关系

这是与同一实体的关系。例如,员工可以担任一个或多个员工的主管,而员工可以员工监督(这是一对多的关系)。

数据库 - 建模:实体关系图(ERD)_第3张图片

弱实体

弱实体只是一个实体,它的存在依赖于另一个实体。在缺少employee表的情况下,您无法在逻辑上拥有依赖(儿子,女​​儿,..等)。它的轮廓与普通实体相同,但有双线。

数据库 - 建模:实体关系图(ERD)_第4张图片

- 部分密钥

弱实体具有所谓的“部分密钥”。它是为给定所有者实体唯一标识弱实体的一个或多个属性。在我们的示例中,从属名称对于每个员工都是唯一的。

它的绘制与普通属性相同,但是带有虚线下划线。

它被称为partial,因为它不能是它自己的主键,它需要另一列,它是所有者实体的外键。这将在下一个教程的数据库映射中讨论。

- 弱实体关系

此外,当弱实体与另一个实体之间存在关系时,它的轮廓与上面的相同,但是使用双线。

 

数据库 - 建模:实体关系图(ERD)_第5张图片

属性

属性或列(简单)表示表中的一段数据,如地址,薪水和日期。

数据库 - 建模:实体关系图(ERD)_第6张图片

首要的关键

它的轮廓与普通属性相同,但是带下划线。

数据库 - 建模:实体关系图(ERD)_第7张图片

复合属性

由一些其他值组成的值,例如,您可能具有由(名字,中间名姓氏)组成的名称

数据库 - 建模:实体关系图(ERD)_第8张图片

我们没有为名称定义一列(如果它是复合的),而是将它分成简单的单独列; 名字,姓氏。一个原因是因为您可能会使用姓氏(或名字)做一些不同的事情,并且您希望自己完成它。这将在下一个教程的数据库映射中讨论。

多值属性

单个列的多个值(例如,部门的位置)可能同时具有多个值。

数据库 - 建模:实体关系图(ERD)_第9张图片

多值属性

多值属性将在另一个表中提取。稍后将在 数据库映射中讨论这一点。

派生属性

当您有一个列时,可以从另一列计算其值。因此,不需要每次都插入它的值。例如,我们可以通过计算行数来了解特定部门的员工数量。

 

数据库 - 建模:实体关系图(ERD)_第10张图片

这将由DBMS自动完成,它将导致具有一致的值而不是意外地插入错误的值。

符号摘要

以下是ERD中所有符号的摘要。

 

数据库 - 建模:实体关系图(ERD)_第11张图片

整合起来

使用实体关系图来绘制数据库草图是可视化表,列及其关系的常用方法。

现在,是时候将实体,关系,多值属性转换为实际表格了。接下来是“ 逻辑设计(数据模型映射) ”。

 翻译自奥马尔加布里

文章出处

 

你可能感兴趣的:(数据库模型,数据库建模)