数据建模基础知识——实体关系图

数据建模是设计数据库的重要组成部分。如果要获得最佳结果,请确保利用可用的数据模型。请继续阅读以了解更多信息。

每个关系数据库都有明确定义的对象以及这些对象之间的关系。它们共同构成了数据模型。

本文介绍了数据建模的概念。首先,我们将介绍数据建模及其过程的步骤。然后,我们将跳转到各种类型的数据模型。您将看到概念、逻辑和物理数据模型的示例。我还将提到一些更具体的数据模型。

让我们开始吧!

关于数据建模

关系数据库将数据组织到表中,这些表之间有连接。但在创建物理数据库之前,应对数据进行建模。数据模型有助于可视化数据并对其进行逻辑分组。以下是我们将在本文中重点介绍的三种数据模型:

基础是概念数据模型。以下是逻辑和物理数据模型。我们将在以下各节中了解有关这些数据模型的详细信息。

数据建模是一个庞大的主题。它对数据库设计过程至关重要。因此,请务必查看我们关于数据建模的其他文章,例如什么是数据建模数据建模的好处以及为什么需要数据建模。如果您仍然询问为什么我们需要数据建模过程和图表,请阅读本文以了解可以通过遵循数据建模过程来避免的常见数据库设计错误。

数据建模过程

在数据建模过程中,有几个步骤需要遵循。让我们一个接一个地介绍它们。

步骤 1.标识实体

此步骤是概念性数据建模的一部分。在这里,我们根据业务规则确定数据组。例如,在可视化杂货店数据库时,我们将具有产品订单客户等实体,如下所示:

步骤2.识别实体之间的连接

此步骤是概念数据建模的一部分。在这里,我们决定实体之间的关系(即连接)。例如,每个客户将有一个或多个订单,每个订单将有一个或多个产品。我们可以在下图中看到这一点。

第3步.标识实体的属性

此步骤是逻辑数据建模的一部分。每个实体都被分配了其属性;这成为物理数据模型的基础。例如,每个订单都有一个订单 ID、一个下订单的客户(customer_id)和订购的产品:

步骤 4.确定属性的特定数据类型

此步骤是物理数据建模的一部分。在这里,我们将特定于数据库的数据类型分配给每个实体的属性。例如,order_id将是整数,客户名称将是 VARCHAR,如下所示。

第5步.标识多对多关系并实现联结表

此步骤也是物理数据建模的一部分。在这里,我们创建一个存储多对多关系数据的附加表。例如,每个订单可以有一个或多个产品,同时,每个产品可以订购零次或多次。

第 6 步。创建数据库约束、索引、触发器和其他特定于数据库的对象

此步骤是物理数据建模的一部分。在这里,我们专注于实现特定于数据库的功能。例如,让我们标记每个表的主键和外键(如果需要):

完成数据建模过程后,您可以通过执行物理数据建模产生的 SQL 脚本立即创建物理数据库。

数据建模是数据库建模的一部分。查看本文,从不同的角度来看待整个数据库建模过程。

通用数据模型

您现在了解了数据建模过程的基础知识。让我们看看在实践中如何使用它。

想象一下,当地动物园雇佣你来设计他们的数据库。我们将创建概念、逻辑和物理数据模型,以完成整个数据库设计过程。

概念数据模型

概念数据模型侧重于识别实体及其之间的关系。我们考虑业务数据、业务规则和业务流程。

此数据模型是数据的严格抽象表示形式。其组件包括:

  • 表示共享属性的对象组(稍后在逻辑模型中定义)的实体。
  • 关系

概念数据模型通常由数据架构师创建,以向业务利益干系人提供高级数据概述。

首先,让我们确定实体。

  1. Zoo_Employee存储有关动物园员工的数据。
  2. Zoo_Animal存储有关生活在动物园中的动物的数据。
  3. Animal_Species存储动物园中存在的动物物种的数据。
  4. Animal_Food_Type储存动物园动物吃的食物类型。
  5. Food_Provider存储有关提供食物类型的公司或组织的数据。

现在,让我们讨论一下实体之间的关系。

  • 每只动物都有一名看护人,他是动物园的雇员。
  • 每个员工都可以是零个或多个的看护人
  • 每只动物都有一个物种,吃一种特定的食物类型。
  • 每种食物类型由一个或多个食物提供者提供,并且每个食物提供者可以提供一种或多种食物类型。

这是表示此数据的概念模型:

接下来,让我们转到逻辑数据模型。

逻辑数据模型

逻辑数据模型深入研究数据结构,为每个实体分配属性,并指定数据库实现详细信息。

此数据模型是物理数据模型的基础。唯一的区别是逻辑数据模型不是特定于数据库的(与物理数据模型相反,物理数据模型是为Oracle或MySQL等数据库管理系统设计的)。

我们可以在 Vertabelo 中创建逻辑数据模型。请注意,还有更多详细信息:

除了属性名称之外,我们还有常规数据类型(即整数或 varchar)以及强制或不可为空的列 (M) 和主要标识符字段 (PI) 的指示器。PI 字段将成为物理数据模型中的主键。

此数据模型仍然与数据库无关。属性的数据类型是抽象的,但 Vertabelo 在生成物理数据模型时会将它们转换为特定于数据库的数据类型。

物理数据模型

物理数据模型包括所有特定于数据库的功能,例如数据类型、数据库索引、触发器、约束等。

此数据模型与数据库直接相关,因为我们可以仅基于此数据模型生成数据库创建脚本。它包括主键和外键、列和值约束以及其他特定于数据库的功能。

让我们从 Vertabelo 中的逻辑数据模型生成一个物理数据模型。

此数据模型是特定于数据库的。在这里,我们使用的是后格雷SQL。若要了解有关概念、逻辑和物理数据模型的详细信息,请阅读本文

现在我们已经了解了基本数据模型,让我们看一下其他可用的数据模型。

其他数据模型示例

有许多不同的数据模型。统一建模语言 (UML) 提供了软件工程中使用的各种模型。其中一些(如类图)在数据建模中很有帮助。让我们看一下其他一些有用的数据模型。

多维数据模型

维度数据模型用于实现数据仓库系统。这些数据模型在促进数据分析和检索方面非常方便。

多维数据模型的元素包括:

  • 事实,即可以检索其信息的业务流程。
  • 维度,e. 每个事实的详细信息。这些通常回答谁,在哪里和什么的问题。

例如,如果我们认为动物业务流程的喂养是事实,则可能的维度包括看护人维度、食物类型维度和喂养时间维度。

面向对象数据模型

面向对象的数据模型帮助我们更轻松地关联复杂的现实世界对象。此模型的元素包括:

  • 类,e. 用于对象创建的模板。
  • 对象,例如类的实例。
  • 表征每个对象的属性。
  • 描述对象行为的方法。

下面我们有一个面向对象的数据模型示例:

此数据模型提供了有关每个对象/实体的特殊性的更多信息,

实体关系数据模型

实体关系数据模型属于概念数据模型的类别。它由实体、其属性以及实体之间的任何关系组成。

概念数据模型都是关于对数据的正确感知。

尝试不同的数据模型类型!

任何数据库设计过程都从使用各种数据建模工具和图表可视化数据开始。我们通常使用自上而下的方法,从可用数据的一般概述(概念模型)开始,然后深入到越来越多的细节(逻辑和物理模型)。

按照这种方法,第一步是创建一个概念数据模型。它帮助我们最初组织数据并确定对象/实体以及它们之间的关系。接下来是一个逻辑数据模型,它提供有关数据结构的更多详细信息,例如每个实体的属性。最后,我们将逻辑数据模型转换为物理数据模型。物理数据模型是数据库的精确蓝图。

有了这些知识,您就可以设计自己的数据库了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值