我计划建立一个数据库来跟踪足球联赛中的球队和球员。我想追踪的数据如下…
进球/失球(GK)、助攻、上场时间、收到的牌和领先的得分手。
以及总的排名,固定设备和结果。我创建了一个ER图,我认为我有所有需要的表,但是有一些我知道不应该存在的M:N关系,所以我希望我的关系是正确的。
更新
更新的ER图
我可能包括也可能不包括这个联盟的第二个轮胎,否则我不认为我真的需要联赛表。
如果我按原样执行,会不会给我带来任何问题。我不确定fixtures表中有两个col引用teams表中的一列是否可以。而且mygoals_scored表与myplayer_match表具有相同的两个fk。
我在正确的轨道附近吗?任何帮助都将不胜感激。

最佳答案

一个表的两列引用另一个表的同一列是可以的。fixtures表有一个home_team和一个away_team列,每个列都有不同的含义,但是指向同一类型的实体。
我认为你的进球得分表最好是参考球员比赛表而不是球员表,因为它只能参考那些在赛程中踢过球的球员。
您还需要考虑如何从表中提取数据,因为您将在三个表中重复“进球”和“失球”列。如果这些值只存储一次(比如在goals_scored表上),并且在提取数据时由查询计算,那么这将有助于数据的完整性。

关于mysql - 实现多对多关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28268269/

10-16 15:42