ER 图和数据库模式有什么区别?MySQL Workbench 具有绘制 ER 图的功能,但 ER 图的符号在其他绘图工具中与 MySQL Workbench 方法不同。
3 回答
数据库模式通常是关系模型/图表。它显示了表之间的链接:主键和外键。
在数据库图中,苹果和苹果树之间的关系是:表“APPLE”中不能为空的外键“ID__TRE”链接到表“TREE”中的主键“ID_TRE”。
实体关系图。显示实体之间的链接以及它们之间的关系类型。我们不是在谈论那里的桌子或钥匙!通常实体关系图遵循 Merise 模型。像我这样的数据库管理员和开发人员通常在构思关系模型/图表之前构建实体关系模型。
Merise 中的符号集是:(0-1, 0-n, 1-1, 1-n)。第一个数字 0 或 1 描述了关联的其他部分是否是对象存在所必需的。如果为零,则表示它可以存在而不被关联。如果是 One 则意味着该对象仅与另一个对象相关存在(例如,苹果需要一棵树才能存在 --> 1,一棵树不需要苹果存在 -->0)第二个字符告诉我们如何许多对象在关联的另一部分中被接受。如果为1,则关系中只能存在一个对象,如果为n,则可以链接无限个对象(例如:一个苹果可以有一个树--> 1,一棵树可以有多个苹果-- > n)
对于实体关系,关系将被描述为:苹果必须至少属于一棵树才能存在,并且只能属于一棵树(1-1)。一棵树不需要存在一个苹果,但它可以有无限数量的苹果(0-n)。
事实上,两种描述的含义相同,但一种是面向数据库的,另一种是面向建模的。一些建模软件(例如 DB-MAIN)会自动将 ER 图转换为关系图。
实体关系图(ERD)就是这样:描述实体之间关系的图。现在让我们仔细看看……
- ERD 通常由业务分析师(不是 DBA)创建;
- ERD 通常用 LAYMAN 的术语来描述(不是技术上的 DBA 或其他术语);
- ERD 旨在总结和澄清最终用户和业务 SME(同样,不是 DBA 或开发人员)的理解
- 当每个实体都用 SINGULAR 描述时,ERD 效果最好,并且 ERD 中将各种实体连接到其他实体的线使用动词(动作或拥有,或存在)来描述每个关系;
- ERD 可以(并且确实)包括表示 n:n 关系的行,但这不是必需的。
- 博客 ERD 中的实体示例:成员、帖子、评论、类别
- ERD 中描述的关系示例:
- 会员“帖子”1到n个帖子;(请注意,我们没有描述帖子的样子)
- 发布“相关”的 1 到 n 个类别等。
DATA SCHEMAS 与 ERD 有一些相似之处,但不应将它们视为等效或可互换的。如果您制作了一个可以用作数据模式的 ERD……对您没有制作 ERD 的可能性持开放态度!;-)
DATA 模式是用于向 DBA 描述数据将如何存储在数据库(关系或非关系)中的图表。
- 数据模式几乎不变地描述了表的结构和特征;
- 桌子是“容器”(纸板箱);
- 因此,数据模式中的此类表最好以 PLURAL 命名
- 同一博客的 SCHEMA 中的 TABLES 示例:、、、、
(
MEMBERS
关系数据库 )或 (由 Member-Date 和 1 个表中的所有其他列键控(非关系数据库,如“大数据”项目);POSTS
CATEGORIES
COMMENTS
POSTS
然后,数据模式将描述每个表中包含的数据:
MEMBER FirstName (char:25) LastName (char:25)
等等
数据模式中表之间的行不会尝试表示任何“关系”,除了可用于“连接”表的 2 个字段之间的“KEY”,以及这些行的一些附加特征来表示 n:n 关系.
两个图表的用途完全不同: ERD:让普通的最终用户(和企业主)理解给定业务解决方案的模型;和 DATA SCHEMA:DBA 用于构建数据库和开发人员使用该数据库中的数据的“蓝图”。
数据库模式是对数据库实际构造的描述。它是一个包罗万象的术语,指的是表、列、触发器、关系、键约束、函数和过程的集合。它可以引用描述所有这些的文档(例如 XML 模式)或作为数据库构成本身的抽象(“此时很难更改数据库的模式”)。它不是指插入到模式中的行,也不是数据本身。您可以将数据插入到现有模式中。
实体关系图是数据库中表之间关系的可视化。至少,它包括表名,这些表名被可视化为由代表主键和外键约束的线连接的正方形。它通常包括列名和符号,其中包含有关列之间存在何种关系(一对一、一对多、多对多)的信息。