mysql - 足球数据库模式

标签 mysql sql database database-design

<分区>

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

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

football db

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

我希望你明白我试图解释的内容。

最好的问候 -巴巴博

最佳答案

一些注意事项:

  1. 您需要将“homeTeam”和“awayTeam”替换为“homeTeamID”和“awayTeamId”,它们将成为 tblTeams 表的外键。这将确保比赛中的两支球队都真实存在。

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

  3. 您想了解有关比赛的哪些信息?这是锦标赛吗?您可能希望在其中有一个“组别”和/或“锦标赛获胜者”列来存储整个锦标赛的结果。

这些是我的主要想法,除此之外它看起来还不错。

关于mysql - 足球数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31169325/

相关文章:

database - 从 Kusto、KQL 中的表中获取标量值

mysql - 是否有数据库级别的软删除机制

C# Mysql EF6 代码优先 System.ComponentModel.Win32Exception 文件未找到

MySQL: "Too many connections"?

php - 尝试从全局变量中的静态方法访问值时出现语法错误

python - 在 Django 中创建新闻文件

sql - 根据条件使用特定的数据库

SQL 点表示法

c# - Redshift中的语法错误日志表

php - 如何使用 php/mysql 为社交网站的 friend /关注者设置数据库