足球数据库计划

时间:2015-07-01 18:48:30

标签: mysql sql database database-design

我目前正在尝试在MySQL中构建一个足球数据库。它应该存储来自不同联赛的赛程,以及他们的成绩,赔率和其他一些信息。

我刚创建的方案是否正确或是否有任何错误?如果是这样,我可以改进什么?我也不太确定tblMatch和tblTeams之间的联系。

football db

之后我希望能够进行一个查询,我可以选择一个夹具,包括主队和客队在比赛前获得的积分,以及球队的平均目标数量。就像新的领域:'homeTeamPoints','awayTeamPoints'等。 所以我的问题是:我应该把这些字段放在哪里?在一个额外的表格中,或者我应该将它们放在表格中:'tblMatch'并将预先计算的值存储在那里?

我希望你得到我试图解释的内容。

最诚挚的问候 -bababow

2 个答案:

答案 0 :(得分:3)

一些注意事项:

  1. 您需要将“homeTeam”和“awayTeam”替换为“homeTeamID”和“awayTeamId”,它们将成为tblTeams表的外键。这将强制比赛中的球队实际存在。

  2. 从团队中删除matchID和competitionID。我假设球队可以参加很多比赛和比赛,因此这种结构不会支持。

  3. 您想了解有关比赛的内容?这是锦标赛吗?您可能希望在其中设置“括号”和/或“锦标赛冠军”栏目,以存储整个锦标赛的结果。

  4. 这些是我的主要想法,除了看起来还不错。

答案 1 :(得分:1)

在我看来,如果两个字段的值都需要定期更新并且表tblMatch数据大小很大,那么你应该把它放到单独的表中。如果两个字段都是更新,只要整个记录发生变化,那么它就可以在tblMatch表中。