MySQL数据库的足球赔率

时间:2018-11-15 11:43:02

标签: mysql database-design relational-database

如您所知,足球赔率结果/历史没有尽头。我想生成这样的输出。设计mysql数据库的最佳实践是什么?

enter image description here

这是我到目前为止所得到的:

表格:

league: id, league

teams: id, team

odds: id, league_id, date, hometeam_id, awayteam_id, ht, ft,
crown_open_1, crown_open_x, crown_open_2, 
crown_closed_1, crown_closed_x, crown_closed_2, bet365_open_1,....

我被困在赔率表上。如何设计具有1x2数据(打开和关闭)的赔率表?或使用“ |”分割数据在2列而不是6列?

column: crown_open: 1.82|3.35|4.90
column: crown_closed: 2.07|3.05|4.10

我想所有这些方法都可以实现我的目标,但是长期最佳实践是什么?还是其他选项?

基于@Rickjames的答案,这是正确的吗?每个书签/类型都有3行,如果有4个书签,则每个游戏有12行。我说的对吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

不要将多个值组合到一个列中;他们将很难分开。而是在一个单独的表中具有多个列或(通常更好)具有多个行。

我怀疑这可能是最好的:包含以下列的表:

league_id,时间,home_id,away_id,ht,ft,类型,seq,<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <thead> <tr> <th>Student</th> <th>Class</th> <th>Grade</th> </tr> </thead> <tbody> <tr> <td>John</td> <td>History</td> <td>B</td> </tr> <tr> <td>Sarah</td> <td>English</td> <td>D</td> </tr> <tr> <td>Sam</td> <td>Math</td> <td>A</td> </tr> <tr> <td>Quinn</td> <td>Javascript</td> <td>D-</td> </tr> </tbody> </table> <button class="flip">flip</button>,已关闭

注意:

  • 类型可能是`ENUM('crown','bet365',...)
  • open是1,2,3-对于那三列。 (它们的意义是什么?)
  • 我不知道在“ 3-0”,“ 1-0”列上有什么建议
  • 格式化是应用程序的工作,而不是SQL。
  • 对于以上代码段,表中将有24行。