有人可以帮我弄清楚这两个表之间的关系吗?

时间:2020-06-05 20:43:24

标签: sql database database-design many-to-many one-to-many

enter image description here

我知道一个团队会有很多比赛,但是我的困惑是游戏表中的两个外键指向了团队表ID。那么这会导致多对多关系吗?因为一个游戏有2个团队,而一个团队有很多游戏?

1 个答案:

答案 0 :(得分:2)

所以这会使它成为多对多关系

不。您在团队和游戏之间有两个一对多关系。那是两个外键,彼此独立(尽管您可能希望添加检查约束以禁止主队与主队相等的比赛)。

类似的东西:

create table game (
     id int primary key,
     ...
     home_team_id int references team(id),
     away_team_id int references team(id),
     ...
     check(home_team_id <> away_team_id)
);