SQL Workbench对数据库进行逆向工程 - 建立太多连接

时间:2017-03-20 22:21:51

标签: mysql sql mysql-workbench erd

我创建了一个数据库,这里提供了代码。使用Alter Table命令创建外键后定义外键。

当进行逆向工程并查看EER图时,一些表通过多个关系线连接 - 有没有办法简单地将连接更改为描述1-1,1-M关系的一条线?

EER在底部链接。

{{1}}

EER图:

enter image description here

1 个答案:

答案 0 :(得分:0)

连接表的行是从表上定义的外键派生的。如果您想减少它们的数量,那么您需要减少外键的数量。

由于所有表都至少连接了2行,我想说你不完全理解外键并且通常设置关系。我们以busdriver表为例。

外键交叉引用2个表。您可能希望以这种方式表达n:m关系,说单个驱动程序可能会驱动多个总线,但单个总线可能由多个驱动程序驱动。

实现这种关系的正确方法是引入第3个表(我们称之为bus_drivers),该表包含来自busdrivers表的主键。这样的表称为associative table

您需要重新访问所有外键和表格并对其进行修改,直到生成的图表符合您的预期。如果您有很多n:m关系,则可能需要添加相当多的关联表。

在基于外键的关系的初始映射之后,您可以修改mysql workbench的relationship editor中关系的可见性和基数。