ER Diagram和Database Schema有什么不同?

时间:2013-07-14 16:11:18

标签: entity-relationship database

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

3 个答案:

答案 0 :(得分:13)

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

在数据库图表中,苹果和苹果树之间的关系是: 外键" ID__TRE"在表格中不能为空" APPLE"链接到主键" ID_TRE"在桌子上"树"。

Relational

实体关系图。显示实体之间的链接以及它们之间的关系类型。我们不是在谈论桌子或钥匙!通常,实体关系图遵循Merise模型。数据库管理员和开发人员通常在构思关系模型/图之前建立实体关系模型 Merise中的符号集是:(0-1,0-n,1-1,1-n)。第一个数字0或1描述了对象的其他部分是否是对象存在所必需的。如果它为零,则表示它可以存在而不相关。如果它是一个,则意味着该对象仅与另一个对象存在(例如,苹果需要存在树 - > 1,树不需要苹果存在 - > 0) 第二个字符告诉我们在关联的另一部分中接受了多少个对象。如果它是1,则关系中只能存在一个对象,如果它是n,则可以链接无限数量的对象(例如:一个苹果可以有一棵树 - > 1,一棵树可以有多个苹果 - - > n)

通过实体关系,该关系将被描述为: 苹果必须属于至少一个存在的树,并且只能属于一棵树(1-1)。一棵树不需要苹果存在,但它可以有无限数量的苹果(0-n)。

ER

实际上两个描述都是相同的,但一个是面向数据库而另一个是面向建模。某些建模软件(如DB-MAIN)会自动将ER图转换为关系图。

答案 1 :(得分:4)

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

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

答案 2 :(得分:3)

实体关系图(ERD)就是:描述ENTITIES之间关系的图表。现在让我们仔细看看......

  • ERD通常由业务分析师(非DBA)创建;
  • ERD通常以LAYMAN的术语描述(不是技术性的DBA或其他);
  • ERD旨在总结&澄清对最终用户和商业中小企业的理解(同样,不是DBA或开发人员)
  • 当在SINGULAR中描述每个实体时,ERD最有效,并且将各种实体连接到ERD中的其他实体的线使用动词(动作或占有或存在)来描述每个关系;
  • ERD可以(并且确实)包含表示n:n关系的行,但这不是必需的。
  • 博客ERD中的实体示例:成员,发布,评论,类别
  • ERD中描述的关系示例:
    • 会员"帖子" 1到n个帖子; (注意我们AREN' T描述帖子的样子)
    • 发布"相关 - " 1到n类别 等

DATA SCHEMAS与ERD有一些相似之处,但它们不应被视为等效或可互换。如果你制作了一个可以用作数据模式的ERD ......那么你就可以开始制作一个ERD! ;-)

DATA模式是用于向DBA描述数据如何存储在数据库(关系数据库或非关系数据库)中的图表。

  • 几乎不变的数据模式描述了结构和结构。表格的特征;
  • 表是"容器" (纸板盒);
  • 由于数据模式中的此类表格在PLURAL中以BEST命名
  • 同一博客的SCHEMA中的表格示例: MEMBERSPOSTSCATEGORIESCOMMENTS(关系数据库) 要么 POSTS(由成员日期和1个表中的所有其他列键入(非关系数据库,例如"大数据"项目);
  • 然后,数据模式将描述每个表中包含的数据:

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

  • 数据模式中表格之间的界线不会试图表示任何“关系”。除了" KEY" 2个字段之间可用于"加入"这些表以及这些行的一些附加特征表示n:n关系。

两个图表有很多不同的用途: ERD:让凡人终端用户(和企业主)了解给定业务解决方案的模型;和 数据模式:"蓝图" DBA用于构建数据库,以及由开发者用于消耗该数据库中的数据。