Sql 网球比赛中的关系困惑
我正在制作一个简单的网球数据库,其特点是:Sql 网球比赛中的关系困惑,sql,foreign-keys,relational-database,relationship,Sql,Foreign Keys,Relational Database,Relationship,我正在制作一个简单的网球数据库,其特点是: 锦标赛(男子/女子单打、男子/女子双打、混合双打) 球员 结果 我的结果表看起来像 结果 约会 玩家ID(成为参与者1) Player1Score Player2ID(成为参与者2) Player2Score 然后我意识到一名球员可以参加不止一场比赛,所以我需要另一张桌子、一名参与者(或者可以称为团队或情侣) 参与者 PlayerID 锦标赛 三个ID都是复合的 现在乔(身份证号码:1)和汤姆(身份证号码:2)可以成为双打搭档,但乔仍然可以
- 锦标赛(男子/女子单打、男子/女子双打、混合双打)
- 球员
- 结果
- 结果
- 约会
- 玩家ID(成为参与者1)
- Player1Score
- Player2ID(成为参与者2)
- Player2Score
- 参与者
- PlayerID
- 锦标赛
这是唯一可以做到的方法,还是我的头脑一片空白?一场比赛会有很多场比赛。因此,比赛和比赛之间需要一对多的关系 比赛将有一种类型(单打、双打等)。因此,您的匹配表必须包含类型id
你需要在球队和比赛之间建立多对多的关系。一支球队可以有一名或两名球员,这取决于比赛类型。在这一点上,它归结为您要存储多少细节。将获胜队id存储在此表中可能足够好。为什么要重复单打球员数据?应该是多次使用的PlayerID。因为实际上结果表应该只链接到PlayerID或ParticipantID。我猜a-如果TournamentType='Singles'使用PlayerID,否则使用ParticipantID-可以使用逻辑,但它看起来不太好?