哪一个是ER图

时间:2016-05-11 10:01:40

标签: mysql mysql-workbench entity-relationship

当我浏览ER图教程时,我开始研究ER图,我发现了类似于图1的内容,我学到了

图1 enter image description here

然后我尝试在mysql workbench中创建一个示例ER图,我得到了如下图所示的组件

图2 enter image description here

然后我在Google图像中浏览了ER图,我得到了两种类型的图像......我不知道两个图之间的相似点和区别..

请你帮我详细了解并继续前进...... 在此先感谢...

4 个答案:

答案 0 :(得分:3)

你的第一张图是一张正确的ER图,使用Peter Chen在他的论文The Entity-Relationship Model - Toward a Unified View of Data中开发的概念和符号。该符号描绘了实体(矩形)和关系(菱形)。三元和更高的关系很容易用这种表示法表示和显示。

您的第二张图通常称为ER图。它不区分实体与关系,而是生成这些图的应用程序倾向于将表与实体和与外键约束的关系混淆。这些图与网络数据模型的区别在于与实体关系模型的共同点,因为它们只描绘了表之间的二元关系,而不是实体之间的n元关系。

答案 1 :(得分:3)

  

然后我在Google图片中浏览了ER图,我得到了两种类型   图像...我不知道两者之间的相似之处和不同之处   图..

     

请你帮我详细了解并继续前进......   在此先感谢...

通过开发数据库,​​DBA(或其他人)可以使用称为Data ModelingEntity-Relationship Diagram技术。

这种技术(如其他答案所述)是由一个名为Peter Chen的美国人(?)开发的,它现在被广泛用于开发数据库结构,如表格和它们之间的当前关系。

显示的第一张图片代表了应有问题/情况的概念模型。第二个图像是问题/情况的物理模型。这两个模型都是Peter Chen,实体 - 关系图的整个数据建模概念的一部分。

他们(模型)代表问题/情况过程中的阶段。当您得到问题/情况的描述时,您开始开发它的概念模型。准备好后,模型将被分解为一个名为逻辑模型的新模型。

逻辑模型随后也被分解,产生物理模型,数据库表结构的最终表示,包含字段名称,数据类型,表之间的关系,主键,外键等等。上。

分解过程遵循Peter Chen提出的严格规则。这说明你不要胡说八道。你制作了一个模型,需要遵循规则来分解它,以便你进入下一个阶段。

您可以将实体关系图视为一种工具或技术,可帮助您开发强大而简洁的数据库结构。使用此技术,您可以创建一个表示系统/ Web应用程序所需的业务规则的Model(实际上是3个)。但是,请记住以下事项:

  • 即使在概念模型存在之前,我们也必须这样做 在纸上描述问题(业务规则的需要)(或者 文献)。在这里,您将生成/启动概念 模型。在概念之前,该文档甚至可能是一个新阶段 模型,称为描述模型(这不是彼得陈的官方)。 那就是你将拥有一切背景的地方。
  • 上下文应仅针对应该保留的内容(在...中 数据库)。没有必要描述那些没有的东西 持续存在。您的描述性模型不应包含不必要的内容 的东西。
  • 在概念模型的开发过程中,至关重要 你完全忘记了什么是表和外键。这些东西 只会在这个发展阶段减慢你的速度。他们应该 稍后会看到,在接下来的阶段。

我建议您了解有关实体关系模型(A.K.A.实体 - 关系图)的更多信息,并对其进行研究。关于这个主题有很酷的书籍,互联网上有很多材料。相信我,掌握了这一点,数据库的发展将变得更加容易和愉快。

如果您有重大问题,请发表评论我会回答。加入社区吧。遵循entity-relationship标签。有许多有趣的问题可以帮助你学习。此外,不断询问,继续参与。 我们在这里交流知识!

哦,还有一件事。不同的专业人士使用某些不同的符号。例如,有些人将基数表示为N ... 1,表示为其他N-1,其他为(N,1)。这些特征不会改变最终结果。

修改

我感谢谁给我看了this

答案 2 :(得分:0)

第一个是实体关系图,虽然它非常具体,但可以省略很多这样的内容。您可以使用简单的约定来声明表之间的关系,例如箭头表示"一对一","一对多"或"多对多"但是我发现大部分时间只是知道这种关系存在就足够了。

以下是一个非常高级别的ERD示例,它简单地建立了系统不同部分之间的连接:

Sample ERD

此时通常无需详细说明。任何不熟悉该项目的人都会立即了解您的数据结构,如果他们想了解更多有关实施的信息,他们可以深入了解数据库级别。

第二个工件有数据库图,并且在细节方面通常非常具体。

通过非常简单的ERD开始设计应用程序通常更容易,在您开心之前对其进行迭代,然后在数据库表,字段和关系方面实现它。如果您愿意,可以使用数据库设计工具来实现它。

答案 3 :(得分:0)

图1是一个实体关系图,它显示了实体之间的抽象关系和属性。

图2是一个关系模式图,它更进一步,它指定了外键,属性的数据类型以及一对多/多对多关系。

这都是数据库的概念设计,老实说,每个方面都有一些新增或删除的方面。