介绍
数据建模是弄清楚实体的组织以及这些实体之间的关系的过程。功能主题专家首先确定在所考虑的业务范围内构成生态系统的业务实体,数据库应为其托管数据。然后确定这些实体之间的关系。当此详细信息以任何形式表示时,它就成为概念数据模型。这是数据建模过程的第一阶段。下一阶段是建模过程,即创建逻辑数据模型,其中数据属性和相关细节(如规范化、基数等)被找出来。可以说,整个概念和逻辑模型可以用图的形式表示,该图被称为实体关系图,又名ERD。有许多行业领先的工具可用于 ER 建模。Azure 提供用于发布greSQL 的 Azure 数据库服务,作为其在 Azure 云上托管后greSQL 数据库的产品/服务,而 pgAdmin 是用于处理 Postgres 数据库的最常用工具之一。它提供了许多其他工具和实用程序作为其工具套件的一部分。pgAdmin提供的工具之一是创建ERD项目,这有助于以ER图方式创建逻辑数据模型。虽然与市售的行业领先工具相比,它并不复杂且功能丰富,但对于那些希望使用pgAdmin作为其主要管理和开发控制台以及控制许可证成本的人来说,它仍然是一个非常方便的功能。
使用 pg 管理员进行 ER 建模
假定适用于 PostgreSQL 的 Azure 数据库实例已使用某些数据库对象。还假定 pgAdmin 的实例已安装、配置并连接到适用于 PostgreSQL 的 Azure 数据库实例。我们不会深入研究从弄清楚概念数据模型开始,然后使用ER建模将其带到逻辑建模的练习中。我们的目的是了解 ER 建模功能在 pgAdmin 工具中的工作方式。因此,在本练习中,我们将重点放在探索 pgAdmin 工具为 ER 建模提供的功能上,方法是尝试以两个表的形式创建两个实体,并在它们之间创建关系,这在数据建模术语中称为基数。
假设 pgAdmin 已在本地计算机上打开并连接到数据库实例,请单击“工具”菜单,然后单击菜单项“新建 ERD 项目”,如下所示。
这将打开一个新屏幕,如下所示。这是ER设计器窗口,从中可以使用此处提供的功能设计ER模型。
理想情况下,从理论上讲,数据建模应该在通过创建物理数据库对象来实现模型之前完成。但在实践中,它并不总是以这种方式发生。有时,开发团队可能会开始实现预期数据模型的草稿版本,而数据模型正在发展过程中。我们假设这种情况,为了模拟该场景,我们在数据库中有一个现有的表,我们打算在设计器窗口中导入该表。只需将表格拖放到设计器窗口中,它的外观将如下所示。我们将能够看到所添加表的架构,字段,数据类型和约束,如下所示。
有时,当数十到数百个数据库对象添加到设计器窗口时,它变得过于填充。从建模的角度来看,重点是实体、属性和关系,有时这些属性的数据类型可能不具有前期重要性。可以单击表左上角的图标来隐藏详细信息,例如属性的数据类型,如下所示。
我们可以右键单击该表,然后选择该选项以根据添加到设计器窗口中的表的定义生成 SQL 语句。SQL将在新的弹出窗口中打开,如下所示。我们可以在需要时执行 SQL 来部署数据库对象。
在本例中,我们有一个 Employee 表,假设作为数据建模过程的一部分,我们打算向 Employee 添加一个名为 Salary 的子实体,其想法是将其建模为表。我们可以右键单击设计器窗口,然后选择创建新表的选项。它将弹出一个设计器窗口,如下所示。键入新表的详细信息,例如表的名称、需要在其中创建表的架构以及可选说明。
单击“列”选项卡,然后单击加号按钮,如下所示。逐步添加列并配置列的详细信息,如数据类型、约束等。
添加字段后,它将如下所示。我们在这里添加了两个字段 - id和工资,其中id是员工ID,与员工表中的id字段相同。此字段是主键,不可为空。
“高级”选项卡将提供与行级安全性、填充因子、并行工作线程、OID 等相关的多个选项。这些是可选设置,我们可以继续使用默认选项。
最后,在“约束”选项卡中,我们可以添加主键和外键约束。我们打算将员工表与此员工工资表相关联。此处,雇员 ID 是雇员工资表的主键,此字段也是从雇员表中的雇员 ID 字段派生的外键。添加主键并选择 id 字段,如下所示。
在下一个子选项卡中,选择外键约束选项卡,然后从引用的表或主表中选择字段,如下所示。我们还可以从下面显示的其他选项中进行选择。单击编辑字段并添加字段,然后单击“保存”按钮以创建两个表之间的关系。这是我们在两个表(即实体)之间创建基数的方式。
创建关系后,我们可以看到两个表之间的连接线,如下所示。在这里,羊毛衫是一对多的。
我们可以通过选择1M或MM按钮来选择关系并更改基数,该按钮表示一对多关系以及多对多关系。下面显示的是用于编辑两个表之间关系的对话框。
从可用性的角度来看,对象可能看起来未对齐。对齐设计器窗口中所有对象的一种简单方法是单击自动对齐按钮,它将如下所示。
数据建模是一项迭代练习,因此添加注释对于迭代开发数据模型非常重要。我们可以通过单击表名称顶部的图标来单击添加注释按钮,如下所示,这将有助于数据模型的迭代演变。
通过这种方式,我们可以使用pgAdmin工具中的ERD特征来设计使用实体关系建模方法的数据模型。
结论
在本文中,我们学习了如何使用 pgAdmin 工具的 ERD 功能来设计数据模型。我们使用适用于 PostgreSQL 的 Azure 数据库实例来托管数据库对象,并在数据模型中使用现有对象以及创建新对象。
原文标题:Data Modeling with ERD features in pgAdmin
原文作者:Gauri Mahajan
原文地址:https://www.sqlshack.com/data-modeling-with-erd-features-in-pgadmin/