MySQL Workbench的EER图编辑器能否表示具有部分/完全不相交/重叠特化的关系的表?

时间:2011-06-17 06:53:01

标签: mysql entity-relationship mysql-workbench erd

我正在学习Frost,Day和van Slyke撰写的“数据库设计与开发:视觉方法”。

它在第5章中提供了表示部分或全部和不相交或重叠专业化的关系。

不幸的是,我无法弄清楚如何在MySQL Workbench中绘制这样的东西。谷歌搜索也没有太多变化。我发现一个人只是在SQL中询问他们的结果被告知“他不理解关系数据库模型”,这真的很烦人。

我的书给出了可以节省磁盘空间的示例,并说明它是关系模型的完美有效部分。但它似乎在Workbench中缺失。

如何在Workbench中展示专业化?本书以“学生”,“运动员”和“议员”表为例,学生可以是运动员,学生会成员,两者都可以。

编辑:找到一些与人们提出或多或少相同问题的链接。这是the link给mysql论坛中的一个人。他得到了一个恼人的回复,基本上忽略了他的问题。这是DevShed中the question的链接。他没有回复。我现在怀疑工作台中不存在该功能,尽管EER建议它的名称。

3 个答案:

答案 0 :(得分:1)

我也是SQL的初学者,之前我遇到过类似的问题,但我认为现在我的想法更清晰了,所以我想和你分享。

如果我没有教错,你提到的规范(部分或全部和不相交或重叠专业化)不能用ER图(即实体关系图)来图解,而是mysql(以及其他众所周知的数据库软件)确实有这个涵盖。基本上,您通过触发,检查和断言来强制执行此类约束。我也在使用mysql workbench,你当然可以创建触发器。

如果您想了解更多关于触发,检查和断言的信息,请阅读jellomonkey的回答: what is the difference between triggers, assertions and checks (in database)

答案 1 :(得分:1)

好的,我想我找到了解决方案! 如果单击两个实体之间的一条线,则会在连接的每一侧看到2个框,显示Mandatory。这是完全参与。至少它对我有用。您会注意到参与方面的总参与度没有O,但如果您取消选中,则会在实体一侧获得O的部分参与。

答案 2 :(得分:0)

我相信当您双击底部的实体时,您可以在实体之间创建索引和外键。一旦创建,图表就会更新,显示代表实体之间关系的线条。

如果您提供有关表格结构和关系的更多详细信息,我可以尝试为您代表。

你是http://grab.by/ank7

之后是这样的吗?