Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 有人能帮我弄清楚这两张桌子之间的关系吗?_Sql_Database_Database Design_Many To Many_One To Many - Fatal编程技术网

Sql 有人能帮我弄清楚这两张桌子之间的关系吗?

Sql 有人能帮我弄清楚这两张桌子之间的关系吗?,sql,database,database-design,many-to-many,one-to-many,Sql,Database,Database Design,Many To Many,One To Many,我知道一支球队会有很多比赛,但我的困惑是比赛表中的两个外键指向球队表id。那么这会使它成为多对多关系吗?因为一场比赛有两个队,一个队有很多场比赛 那么,这会使它成为一种多对多的关系吗 不,在团队和游戏之间有两种一对多的关系。这是两个外键,一个独立于另一个(尽管您可能希望添加检查约束以禁止主队与主队相等的游戏) 比如: create table game ( id int primary key, ... home_team_id int references tea

我知道一支球队会有很多比赛,但我的困惑是比赛表中的两个外键指向球队表id。那么这会使它成为多对多关系吗?因为一场比赛有两个队,一个队有很多场比赛

那么,这会使它成为一种多对多的关系吗

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

比如:

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)
);
创建桌面游戏(
id int主键,
...
主队id内部参考队(id),
客场团队id内部参考团队(id),
...
检查(主队\u id客队\u id)
);
那么,这会使它成为一种多对多的关系吗

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

比如:

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)
);
创建桌面游戏(
id int主键,
...
主队id内部参考队(id),
客场团队id内部参考团队(id),
...
检查(主队\u id客队\u id)
);

太好了,谢谢!因此,由于它们是独立的外键,因此每个外键都有自己的外键relationship@DavisHurd:是的,没错。这是两个关系,由两个不同的外键表示。很好,这对我来说真的很清楚。还有检查约束,就是为了确保游戏中的两支球队不能是同一支球队?@DavisHurd:是的,这就是检查约束的目的。非常感谢!因此,由于它们是独立的外键,因此每个外键都有自己的外键relationship@DavisHurd:是的,没错。这是两个关系,由两个不同的外键表示。很好,这对我来说真的很清楚。还有检查约束,就是为了确保游戏中的两支球队不能是同一支球队?@DavisHurd:是的,这就是检查约束的目的。FKs会建立多对多关系吗?现在你只是要求我们用定制的教程重写一本教科书&你没有表现出任何研究努力。请看,点击谷歌的“stackexchange家庭作业”和鼠标文本上方的投票箭头。在参考资料后面展示你的工作步骤,并说明理由&问1个具体的、经过研究的、不重复的问题,这是你被卡住的第一个地方。(记录和使用设计的语言和工具的手册不是这样的教科书。)(维基文章或网络帖子也不是。)PS所有的步骤都是常见问题。FKs会建立多对多关系吗?现在你只是要求我们用定制的教程重写一本教科书&你没有表现出任何研究努力。请看,点击谷歌的“stackexchange家庭作业”和鼠标文本上方的投票箭头。在参考资料后面展示你的工作步骤,并说明理由&问1个具体的、经过研究的、不重复的问题,这是你被卡住的第一个地方。(记录和使用设计的语言和工具的手册不是这样的教科书。)(维基文章或网络帖子也不是。)PS所有步骤也是常见问题解答。