我创建了一个数据库,这里提供了代码。使用Alter Table命令创建外键后定义外键。
当进行逆向工程并查看EER图时,一些表通过多个关系线连接 - 有没有办法简单地将连接更改为描述1-1,1-M关系的一条线?
EER在底部链接。
{{1}}
EER图:
答案 0 :(得分:0)
连接表的行是从表上定义的外键派生的。如果您想减少它们的数量,那么您需要减少外键的数量。
由于所有表都至少连接了2行,我想说你不完全理解外键并且通常设置关系。我们以bus
和driver
表为例。
外键交叉引用2个表。您可能希望以这种方式表达n:m
关系,说单个驱动程序可能会驱动多个总线,但单个总线可能由多个驱动程序驱动。
实现这种关系的正确方法是引入第3个表(我们称之为bus_drivers
),该表包含来自bus
和drivers
表的主键。这样的表称为associative table。
您需要重新访问所有外键和表格并对其进行修改,直到生成的图表符合您的预期。如果您有很多n:m
关系,则可能需要添加相当多的关联表。
在基于外键的关系的初始映射之后,您可以修改mysql workbench的relationship editor中关系的可见性和基数。