我目前正在尝试在MySQL中构建一个足球数据库。它应该存储来自不同联赛的赛程,以及他们的成绩,赔率和其他一些信息。
我刚创建的方案是否正确或是否有任何错误?如果是这样,我可以改进什么?我也不太确定tblMatch和tblTeams之间的联系。
之后我希望能够进行一个查询,我可以选择一个夹具,包括主队和客队在比赛前获得的积分,以及球队的平均目标数量。就像新的领域:'homeTeamPoints','awayTeamPoints'等。 所以我的问题是:我应该把这些字段放在哪里?在一个额外的表格中,或者我应该将它们放在表格中:'tblMatch'并将预先计算的值存储在那里?
我希望你得到我试图解释的内容。
最诚挚的问候 -bababow
答案 0 :(得分:3)
一些注意事项:
您需要将“homeTeam”和“awayTeam”替换为“homeTeamID”和“awayTeamId”,它们将成为tblTeams表的外键。这将强制比赛中的球队实际存在。
从团队中删除matchID和competitionID。我假设球队可以参加很多比赛和比赛,因此这种结构不会支持。
您想了解有关比赛的内容?这是锦标赛吗?您可能希望在其中设置“括号”和/或“锦标赛冠军”栏目,以存储整个锦标赛的结果。
这些是我的主要想法,除了看起来还不错。
答案 1 :(得分:1)
在我看来,如果两个字段的值都需要定期更新并且表tblMatch数据大小很大,那么你应该把它放到单独的表中。如果两个字段都是更新,只要整个记录发生变化,那么它就可以在tblMatch表中。