网上商城管理系统数据流图(「数据架构」什么是实体关系图(ERD)?)

数据库绝对是软件系统不可分割的一部分。在数据库工程中充分利用ER图,可以在数据库创建、管理和维护中保证高质量的数据库设计。ER模型还提供了一种交流方式。



今天,我们将带你了解关于ER图你需要知道的一切。通过阅读ERD指南,你将获得关于ER图和数据库设计的基本知识和技能。你将学习什么是ERD,为什么,ERD符号,如何画ERD,等等,还有一些ERD的例子。

什么是ER图?

首先,什么是实体关系图?

实体关系图又称ERD、ER图或ER模型,是数据库设计的结构图。ERD包含了不同的符号和连接器,这些符号和连接器可视化了两个重要信息:系统内的主要实体以及这些实体之间的关系。

这就是为什么它被称为“实体”和“关系”图(ERD)!

当我们在ERD谈论实体时,我们通常指的是业务对象,比如人/角色(比如学生),有形的业务对象(比如产品),无形的业务对象(比如日志)等等。“关系”是关于这些实体在系统中如何相互关联。



在典型的ER设计中,您可以找到描述实体、实体属性和关系的符号,例如圆角矩形和连接器(具有不同的端点样式)。

什么时候画ER图?

你什么时候画实体关系图?虽然ER模型主要用于设计概念可视化和物理数据库设计中的关系数据库,但ER图在其他情况下也有帮助。以下是一些典型的使用案例。

数据库设计

——根据变化的规模,直接在DBMS中改变数据库结构可能有风险。为了避免破坏生产数据库中的数据,仔细规划更改非常重要。ERD是一个有用的工具。通过绘制ER图来可视化数据库设计思想,您有机会识别错误和设计缺陷,并在数据库中实现更改之前纠正它们。

数据库调试

——调试数据库非常具有挑战性,尤其是当数据库包含很多表时,需要编写复杂的SQL来获取所需的信息。通过使用ERD可视化数据库模式,您可以充分了解整个数据库模式。您可以轻松定位实体、查看它们的属性并确定它们与其他实体的关系。所有这些都允许您分析现有的数据库并更容易地发现数据库问题。

数据库创建和修补

—Visual Paradigm是一个ERD工具,支持数据库生成工具,可以通过ER图的方式自动创建和修补数据库。所以有了这个ER图工具,ER设计不再是一个静态的图,而是一面反映物理数据库结构的镜子。

收集帮助需求

——通过绘制描述系统高层业务对象的概念ERD,确定信息系统的需求。这种初始模型也可以发展成物理数据库模型,以帮助创建关系数据库或流程图和数据流模式。

ERD符号指南

ER图包含实体、属性和关系。在这一节中,我们将详细讨论ERD符号。

实体

ERD实体是一个系统内可定义的事物或概念,如人/角色(如学生)、对象(如发票)、概念(如汇总)或事件(如交易)(注:在ERD,“实体”一词常用来代替“表”,但它们是一样的)。在识别实体时,将其视为名词。在ER模型中,实体显示为圆角矩形,其名称在顶部,其属性列在实体形状的主体中。以下ERD示例显示了一个ER实体的示例。

网上商城管理系统



实体属性

属性也称为列,是持有它的实体的属性或特征。

属性有一个描述属性的名称和一个描述属性类型的类型,比如string的varchar和integer的int。在为物理数据库开发绘制ERD时,一定要使用目标RDBMS支持的类型。

以下ER图示例显示了具有某些属性的实体。



主键

主键是一个特殊的实体属性,它唯一地定义了数据库表中的一条记录。换句话说,两个(或更多)记录不能共享相同的主键属性值。下面的ERD示例显示了具有主键属性“ID”的实体“Product”以及数据库中表记录的预览。第三条记录无效,因为另一条记录已经使用了ID & # 39PDT-0002 & # 39;的价值。



外部密钥

外键,也称为FK,是对表中主键的引用。它用于标识实体之间的关系。请注意,外键不一定是唯一的。多个记录可以共享相同的值。以下ER图示例显示了一个包含一些列的实体,其中外键用于引用另一个实体。



关系

两个实体之间的关系意味着它们以某种方式相互关联。例如,学生可能注册了一门课程。所以,物理生和课程是有关系的,一种关系是连接他们的连接器。

基数

基数定义了一个实体中可能事件的数量,它与另一个实体中可能事件的数量相关联。比如一个球队有很多球员。当它出现在ERD时,实体团队和玩家之间是一对多的关系。

在ER图中,基数被表示为连接器两端的鱼尾纹。三种常见的基本关系是一对一、一对多和多对多。

一对一基数的例子

一对一关系主要用于将一个实体一分为二,以提供简洁的信息,使其更容易理解。下图显示了一对一关系的示例。



一对多基数的示例

一对多关系是指两个实体X和Y之间的关系,其中X的一个实例可能链接到Y的多个实例,而Y的一个实例只链接到X的一个实例。



多对多基数的例子

多对多关系是指两个实体X和Y之间的关系,其中X可以链接到Y的多个实例,反之亦然。下图显示了多对多关系的一个示例。请注意,在物理ERD中,多对多关系分为一对一关系。在下一节中,您将了解什么是物理ERD。



概念、逻辑和物理数据模型

ER模型通常在三个抽象层次上绘制:

  • 概念ERD/概念数据模型
  • 逻辑ERD/逻辑数据模型
  • 物理ERD/物理数据模型
  • 虽然ER模型的所有三个级别都包含具有属性和关系的实体,但它们在创建目的和目标受众方面是不同的。

    对三种数据模型的一般理解是,业务分析师使用概念模型和逻辑模型系统来存在业务对象,而数据库设计师或数据库工程师解释概念和逻辑ER模型来生成物理模型,并提出物理数据库结构来创建数据库。下表显示了三种数据模型之间的差异。

    概念模型vs逻辑模型vs数据模型:

    ERD功能概念逻辑物理实体(名称)是是关系是列是列& # 39;s类型可选主键是外键是

    概念数据模型

    概念ERD对系统中应该存在的业务对象及其关系进行建模。通过识别所涉及的业务对象,开发一个概念模型来显示系统的总体情况。它定义了存在哪些实体,而不是哪些表。例如,多对多表可能存在于逻辑或物理数据模型中,但在概念数据模型中,它们只显示为没有基数的关系。

    概念数据模型示例



    注意:概念ERD支持在对两个实体之间的“一”关系建模时使用泛化,例如,三角形是一个形状。这种用法类似于UML中的一般化。请注意,只有概念ERD支持泛化。

    逻辑数据模型

    逻辑ERD是概念ERD的详细版本。通过显式定义每个实体中的列并引入操作实体和事务实体,我们可以开发逻辑ER模型来丰富概念模型。尽管逻辑数据模型仍然独立于将创建数据库的实际数据库系统,但是如果它影响设计,您仍然可以考虑这一点。

    逻辑模型示例



    物理数据模型

    物理ERD代表了关系数据库的实际设计蓝图。物理数据模型通过分配每个列的类型、长度、可用空值等来详细描述逻辑数据模型。由于物理ERD表示数据在特定的DBMS中应该如何构造和关联,所以考虑实际数据库系统的约定和限制是很重要的。确保DBMS支持列类型,并且在命名实体和列时不使用保留字。

    物理数据模型示例



    如何绘制ER图?

    如果你发现开始画ER图有困难,不要担心。在本节中,我们将为您提供一些ERD技巧。试着按照下面的步骤来理解如何有效地绘制ER图。

  • 确定你知道画ERD的目的。您是否试图呈现涉及业务对象定义的整个系统架构?或者,您是否正在开发一个可以创建数据库的ER模型?您必须清楚在适当的细节层次上开发ER图的目的(请阅读“概念、逻辑和物理数据模型”一节以获得更多细节)
  • 确保你知道建模的范围。了解建模范围可以防止设计中包含多余的实体和关系。
  • 画出范围涉及的主要实体。
  • 通过添加列来定义实体的属性。
  • 仔细检查ERD,检查实体和列是否足以存储系统的数据。如果没有,请考虑添加其他实体和列。通常,您可以在此步骤中识别一些事务、操作和事件实体。
  • 考虑所有实体之间的关系,并使用适当的基数(例如,客户和订单之间的一对多关系)。不用担心孤儿实体的存在。虽然不常见,但是合法。
  • 应用数据库规范化技术以减少数据冗余和提高数据完整性的方式重建实体。例如,制造商的详细资料最初可能存储在产品实体下。在规范化的过程中,你可能会发现详细信息会被重复记录,然后你可以把它拆分成一个单独的实体制造商,用一个外键把产品和制造商联系起来。
  • 数据模型的例子

    ERD的例子-电影租赁系统



    ERD的例子-贷款制度



    ERD的例子-网上商店



    将ERD与数据流图(DFD)结合使用

    在系统分析和设计中,可以画出数据流图来形象化系统过程中的信息流。在数据流图中,有一个称为数据存储的符号,它代表一个提供系统所需信息的数据库表。



    因为物理ER图提供了实际数据库的蓝图,所以ERD的实体与DFD的数据存储是一致的。你可以通过将系统中流动的信息结构表示为DFD的补充来绘制ERD,或者反过来,通过展示系统将如何在运行时使用数据来补充ERD来绘制DFD。



    将ERD与BPMN业务流程图(BPD)一起使用

    在业务流程映射中,您可以绘制BPMN业务流程图(BPD)来可视化业务流程。在业务流程图中,有一个称为数据对象的符号,它代表流程活动的数据输入/输出。



    因为概念和逻辑数据模型提供了系统中业务对象的高级视图,所以这种实体关系图中的实体与BPD中的数据对象是一致的。你可以通过表现业务工作流所需数据对象的结构来画ERD,作为对BPD的补充,或者反过来,你可以通过展示如何在整个业务流程中使用数据来画BPD,作为对ERD的补充。



    选择ERD工具

    用ERD开发数据模型需要时间和精力。一个有用的数据库设计工具应该能够减少你花费的时间和精力。Visual Paradigm不仅为您提供了ERD工具,还提供了一套可视化建模功能,帮助您更快、更轻松地绘制图形。它支持当今市场上最流行的关系数据库管理系统,包括数据库设计、数据库生成和ERD反演。



    原文:https://www . visual-paradox . com/guide/data-modeling/what-is-entity-relationship-diagram/

    本文:http://jiagoushi.pro/node/856

    讨论:请加入知识星球【首席架构师圈】或飞聊群【首席架构师智库】

    您可以还会对下面的文章感兴趣

    使用微信扫描二维码后

    点击右上角发送给好友