如何从两个由用户和时间表组成的数据库表创建第三个数据库表?

如何从两个由用户和时间表组成的数据库表创建第三个数据库表?

问题描述:

我正在开发一个侧面项目,用户可以登录到显示当天所有体育比赛的网站。用户可以选择他们认为当天会赢的球队。用户可以组成小组来比较那天谁做出了最准确的预测,并且随着时间的推移。如何从两个由用户和时间表组成的数据库表创建第三个数据库表?

我有第一个表Matches约900行和Users表。我在考虑不是将用户选择的结果存储在这些现有表中的任何一个中,我应该创建一个名为Picks的第三个表,其中列user id以及match id并将字符串存储为用户具有的团队的名称选出那个特定的比赛ID。我会在PicksMatches表中有一个winner列,如果该选择与该match idwinner相匹配,用户就会获得相应的奖励。

这是正确的方法吗?我在这里陷入陷阱吗?

+0

我认为这是一个好主意,有第三个表挑选哪里可以存储3列。但是我想要拥有Matches表格中的胜利者列,这似乎更符合逻辑。您也可以使用字符串替换用户选择的团队,也可以使用数字。 – berthos

您可能希望从用户选择的比赛中存储实际的球队,而不是单独的球队和比赛。在这种情况下,你可能有一些叫做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?