【问题标题】:What is different between ER Diagram and Database Schema?ER图和数据库模式有什么区别?
【发布时间】:2013-07-12 13:03:11
【问题描述】:

ER 图和数据库模式有什么区别? MySQL Workbench 有绘制 ER 图的功能,但 ER 图的符号在其他绘图工具中与 MySQL Workbench 方法不同。

【问题讨论】:

  • 我不确定您所说的“数据库图”(ER 图除外)是什么意思,但 MySQL 工具台中的符号可能与其他工具不同,因为 ER 图有多种约定:@ 987654321@
  • 非常感谢马克,正如你所说的不同的符号用于绘图。

标签: entity-relationship database


【解决方案1】:

实体关系图 (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 中的表示例: MEMBERSPOSTSCATEGORIESCOMMENTS(关系数据库) 要么 POSTS(由成员日期和 1 个表中的所有其他列(非关系数据库,例如“大数据”项目)键入);
  • 然后,数据模式将描述每个表中包含的数据:

    MEMBER 
    FirstName (char:25)
    LastName (char:25)
    

    等等

  • 数据模式中的表之间的行不会尝试表示除可用于“连接”表的 2 个字段之间的“键”之外的任何“关系”,以及这些行的一些附加特征表示 n:n 关系。

两个图表的用途截然不同: ERD:让普通的最终用户(和企业主)了解给定业务解决方案的模型;和 数据架构:DBA 用来构建数据库和开发人员使用该数据库中的数据的“蓝图”。

【讨论】:

    【解决方案2】:

    数据库架构通常是关系模型/图表。它显示了表之间的链接:主键和外键。

    在数据库图中,苹果和苹果树之间的关系是: 表“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 图转换为关系图。

    【讨论】:

      【解决方案3】:

      数据库模式是对数据库实际构造的描述。它是一个包罗万象的术语,指的是表、列、触发器、关系、键约束、函数和过程的集合。它可以引用描述所有这些的文档(例如 XML 模式)或作为数据库构成本身的抽象(“此时很难更改数据库的模式”)。它不是指插入到模式中的行,也不是数据本身。您可以将数据插入到现有架构中。

      实体关系图是数据库中表之间关系的可视化。至少,它包括表名,这些表名被可视化为由代表主键和外键约束的线连接的正方形。它通常包括列名和符号,其中包含有关列之间存在何种关系(一对一、一对多、多对多)的信息。

      【讨论】:

        猜你喜欢
        • 2014-01-19
        • 2023-03-22
        • 2010-09-22
        • 1970-01-01
        • 2016-04-07
        • 2013-08-09
        • 2011-10-24
        • 2011-12-08
        相关资源
        最近更新 更多