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

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

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

 


实体关系图

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

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

实体

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

关系

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

关系

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

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

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

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

– 递归关系

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

弱实体

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

– 部分**

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

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

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

– 弱实体关系

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

 

属性

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

首要的关键

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

复合属性

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

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

多值属性

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

多值属性

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

派生属性

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

 

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

符号摘要

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

 

整合起来

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

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

 翻译自奥马尔加布里

文章出处

 

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: