卡车有唯一的标识符。
truck_trip_route也有唯一的标识符。
truck_team也有唯一的标识符。
每辆卡车都有一个为其提供服务的团队。每辆卡车也在一条行程中行驶。
我需要能够建立这种关系并展示这一点。我猜这是三元关系?
我做了一些研究并遇到了数据透视表,但我不确定我是否走在正确的轨道上。
我知道M:不允许M关系,但是如果我建模三元关系并通过数据透视表链接它们会更好吗?
答案 0 :(得分:1)
您不需要任何额外的表格。你可以这样做:
带星号的列是主键。
truck 表有两个外键,它们唯一地定义哪个卡车车队以及卡车行程路线与之相关联。
如果还需要卡车车队只能维修一辆卡车,那么在外键列 truck_team_id 上放一个唯一索引在 truck 表中。
同样,如果还需要卡车行程路线只能由一辆卡车遍历,则在外键列上放置一个唯一索引 truck 表中的truck_trip_route_id 。
答案 1 :(得分:0)
从描述给出三元关系是有道理的。 有一个卡车有一个团队和一个路线。因此,为每个获取ID的链接表将正常工作。
否则另一种方法是在表之间建立直接链接。 e.g。
Team (table) -> truck_team (link table) -> Truck (table) -> truck_route (link table) -> Route
这实际上取决于您希望表格的形式。包含truck
和team_id
的{{1}}也是另一种方式。
答案 2 :(得分:0)
声明“每辆卡车都有一个团队”听起来像是一个二元关系。 “每辆卡车都在一条行程路线上”也是如此。三元关系就像“每辆卡车每个行程都有一个团队”。