如何从两个由用户和时间表组成的数据库表创建第三个数据库表?
问题描述:
我正在开发一个侧面项目,用户可以登录到显示当天所有体育比赛的网站。用户可以选择他们认为当天会赢的球队。用户可以组成小组来比较那天谁做出了最准确的预测,并且随着时间的推移。如何从两个由用户和时间表组成的数据库表创建第三个数据库表?
我有第一个表Matches
约900行和Users
表。我在考虑不是将用户选择的结果存储在这些现有表中的任何一个中,我应该创建一个名为Picks
的第三个表,其中列user id
以及match id
并将字符串存储为用户具有的团队的名称选出那个特定的比赛ID。我会在Picks
或Matches
表中有一个winner
列,如果该选择与该match id
的winner
相匹配,用户就会获得相应的奖励。
这是正确的方法吗?我在这里陷入陷阱吗?
答
您可能希望从用户选择的比赛中存储实际的球队,而不是单独的球队和比赛。在这种情况下,你可能有一些叫做match_team的东西。该表格将包含关于该比赛中特定球队的详细信息。这将做得像...
Users
:name
:email
:password
Picks
:user_id
:match_team_id
Matches
:date
:location
:winning_team_id
MatchTeams
:match_id
:team_id
:score
:home_team?
我认为这是一个好主意,有第三个表挑选哪里可以存储3列。但是我想要拥有Matches表格中的胜利者列,这似乎更符合逻辑。您也可以使用字符串替换用户选择的团队,也可以使用数字。 – berthos