Page 1 of 1

不同类型的实体关系图的快速指南

Posted: Wed Dec 04, 2024 3:50 am
by shahriya668
人们在规划和设计项目时经常使用草图、地图、图表和其他视觉辅助工具。

例如,作家在构思故事时可能会画地图。这有助于他们了解角色所居住的世界的环境、地理、地质、动植物。他们越了解这些不同实体之间的关系和相互作用,读者就越能相信这个世界。角色在遵守作家制定的指导方针的同时,也越容易相互交流。

在商业世界中也是如此。项目经理和开发人员经常使用流程图、地图和其他图表等视觉图形来规划和设计各种项目,例如软件、流程、网络架构、数据库等。

例如,在设计数据库时,您需要了解数据所在的世界。您需要能够看到所有部分如何相互关联和交互。通过了解为数据库创建的规则,您可以更轻松地避免数据冗余并确保数据准确且全面。

冗余会导致差异,不准确的数据会对分析和报告产生负面影响。实体关系图 (ERD) 是一种很好的可视化工具,可以帮助您设计符合您为其建立的规则的逻辑、干净且安全的数据库。

什么是实体关系图?
什么是实体关系图?
ERD 是一种图表,可帮助您了解系统中不同实体之间的关系。设计新系统时,可以使用这些图表来帮助开发团队了解数据库的结构。ERD 图表还有助于您了解现有系统的工作原理以及查找和解决问题。

ERD是一种图表,可帮助您了解系统中不同实体之间的关系。设计新系统时,可以使用这些图表来帮助开发团队了解数据库的结构。ERD 图表还有助于您了解现有系统的工作原理以及查找和解决问题。

这些图表使用一组定义好的形状和符号(矩形、菱形、椭圆形、连接线),让您可以 以色列电话号码库 记录数据库的逻辑结构。这些形状和符号提供了一种通用语言,让每个人都能轻松查看和理解系统的工作原理、数据所在的位置以及在需要时如何访问数据。

这种常见的图形语言类似于书面语言,其中实体充当名词,关系和连接充当动词。

实体
实体是任何对您的业务很重要的数据对象。这些对象可以是计算机、打印机、员工、客户、地点、事件、概念等等。

实体就像名词。它是存储了相关数据的事物。例如,披萨订单和订购披萨的客户都是可以存储在数据库中的实体。

您可以将实体放入实体集,即具有共同属性的实体的集合。例如,您可能在一个数据集中拥有许多共享属性(如大小、饼皮、酱汁、奶酪等)的披萨实体。但其中许多属性的值可能不同,例如饼皮类型(薄饼皮、深盘)和酱汁量(清淡、普通、特级)。

属性和关系
属性定义数据库中实体的属性。以披萨为例,其属性可能是中号、深盘、清淡酱汁、额外奶酪和意大利辣味香肠。此外,您可能有一个客户实体集,其中包含姓名、地址、付款信息等的不同值。

定义实体和属性后,您可以设置它们之间的关系。关系描述一个或多个实体类型实例之间的连接或关联。关系可以被视为动词或动词短语。

因此,名为 Bob 的顾客(实体、属性)可能会订购一份中深盘意大利辣香肠,然后送到他家(实体关系)。

这类信息对披萨店和顾客都很有用。餐厅可以根据以前的订单向顾客发送有针对性的广告。顾客下次访问餐厅网站时可以快速下单,因为他们的信息(包括以前的订单和付款信息)都存储在数据库中。

实体关系图的类型
您可以使用多种不同类型的 ERD。这里我们将讨论三种最知名的类型以及使用每种类型的益处。

鱼尾纹
这种创建 ERD 的方法使用了鱼尾纹符号。使用这种符号,框表示实体,线表示框之间的关系。这些关系线的末端有不同的形状,表示关系基数——一个实体中的实例可以与另一个实体的实例相关的最大次数。

主要有三种基本关系:

一对一:一位顾客订购一个披萨。

一对一鱼尾纹
一对多:一位顾客订购了多种披萨。每种披萨与顾客之间都存在单一关系。

一对多鱼尾纹
多对多:几个顾客订购各种不同的披萨。

多对多鱼尾纹
ERD 鱼尾纹
ERD鱼尾纹模板(点击在线修改)
鱼尾纹模型的好处
对于绘制关系基数很有用
符号以视觉方式清晰表示最大和最小基数
所有利益相关者都可以轻松阅读和解释符号
基数符号被放置并保留在关系线上,以便在复杂的图表中轻松识别,以消除歧义
适合绘制需要由技术水平较低的受众审阅的计划
NoSQL 数据库设计
NoSQL 数据库是指非关系型数据库。它也被称为“不仅仅是 SQL”,表示该数据库也可能支持类似 SQL 的查询。

NoSQL 数据库设计强调简单性,具有更好的扩展性和对可用性的更多控制。该数据库不使用关系数据库中常见的表格结构。相反,NoSQL 将数据存储在一个数据结构中,例如 JSON 文档。这种类型的数据库结构没有严格的架构。灵活的架构意味着这种数据库设计可以更快地扩展,因此您可以管理大型(有时是非结构化的)数据集。这就是 NoSQL 数据库设计受到使用实时 Web 应用程序的公司欢迎的原因。

是否使用 NoSQL 数据库设计取决于您要解决的问题。如果数据需要严格结构化,您可能需要使用关系设计。但如果您需要数据库更加灵活,并且希望用户能够更快地访问数据,NoSQL 设计可能适合您。

Image

NoSQL 数据库设计
NoSQL数据库设计示例(点击在线修改)
NoSQL 数据库设计的好处
高可扩展性:NoSQL 通过将数据分布在多台机器上(分片)来实现水平扩展。使用垂直扩展时,您需要向现有机器添加更多资源,这可能很难实现。使用水平扩展时,您只需添加更多机器来存储数据,从而更轻松地高效处理大量数据。
高可用性:NoSQL 支持自动复制。这意味着如果系统的一部分出现故障,数据仍然可用,因为它已被复制。这也为您提供了灾难恢复机制。
大数据可靠:每天都会产生大量数据。MongoDB 或 Hadoop 等 NoSQL 系统可让您快速、安全且恰当地存储数据。
更敏捷/灵活的数据模型:当存储和操作架构发生变化时,关系数据库可能会带来麻烦。即使是微小的变化也可能需要密切监控。NoSQL 系统没有这些限制。它们非常灵活,可以快速处理任何类型的变化。
带有 UML 符号的实体关系图
通用建模语言 (UML) 是一种流行的语言,主要由软件开发人员用来描述和可视化使用面向对象方法开发的系统。UML 有自己的标准化符号库,这些符号表示构成应用程序或软件系统的对象和流程。与任何视觉符号一样,它使使用它的人更容易可视化和理解他们的想法,而无需查看数千行代码。

UML 图有几种不同的类型,例如对象、包、序列、状态机、时间、组件结构、通信等。

创建 ERD 时可以使用 UML 符号。这并不意味着 ERD 成为一种 UML 图。相反,它只是意味着 UML 符号用于描述实体关系和基数。使用 UML 符号,关系显示为连接两个实体的实线。基数在线上表示(例如,1..1 表示一对一,或 1..* 表示一对多),您可以添加动词短语(如“made by”或“ordered by”)来定义实体之间的关系。