Workbench使用标识关系创建不必要的主键

时间:2013-04-15 10:10:12

标签: mysql mysql-workbench

我目前正在尝试使用Workbench应用程序为MySQL开发架构并遇到了问题,如下图所示:

enter image description here

我的模型应具有以下属性:

存在许多区域(例如某个地形上的建筑物)。对于那些区域,每个楼层都有地图。在每个地图上可以放置几个视点。

所以关系很清楚: 1个区域可以有n个地图。 1张地图可以有n个观点。

我把它们画进了图像。但是为什么Workbench会将map_id和area_id插入到视点中,尽管map_id就足够了?不是有点重复吗?

还有一个问题:这些关系是否正确?我认为就是这样,因为没有地图和没有地图的观点,地图就不可能存在。

谢谢。

1 个答案:

答案 0 :(得分:0)

请不要在一个Stackoverflow问题中提出两个不同的问题。为每个人打开SO问题。

关于关系:我不确定为什么插入了area_id。也许这是因为map_id和area_id都在PK中。但是,如果您在FK中不需要它,则应该能够删除area_id。

重新识别关系:这是另一回事。只有当一个区域存在时,地图才能存在的要求等由关系的正常性建模(这是你得到的1:n强制关系)。要识别关系,请阅读this Stackoverflow question