我知道一个团队会有很多游戏,但是我的困惑在于游戏表中的两个外键引用了团队表id。那么这会使它成为多对多关系吗?因为一场比赛有两个队,一个队有很多场比赛?
9avjhtql1#
那么,这会成为一种多对多的关系吗不,你在团队和比赛之间有两个一对多的关系。这是两个外键,一个独立于另一个(尽管您可能希望添加检查约束以禁止主队与主队相等的比赛)。比如:
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) );
1条答案
按热度按时间9avjhtql1#
那么,这会成为一种多对多的关系吗
不,你在团队和比赛之间有两个一对多的关系。这是两个外键,一个独立于另一个(尽管您可能希望添加检查约束以禁止主队与主队相等的比赛)。
比如: