我正在为我的朋友做数据库的评分系统。我有一张游戏的桌子,第二张桌子上有的体育名称(足球,足球,足球)。我想存储游戏的分数,但我不知道如何设计数据库,以满足具体的分数需求。
例如,:
足球比分- 1:2,2:2 (上半场和下半场)
特尼斯牌- 6:4,7:6
弗罗巴尔- 1:0,3:0,3:2 (游戏的第1,2,3节)
我需要这个分数链接到游戏表,但是我需要特定的表列来存储每个游戏的分数。
我想到的:
在我看来,唯一的问题是:
如何创建表/s,根据运动类型以不同格式存储分数?
谢谢你的帮助
发布于 2016-08-20 17:34:31
例如:
match_id | period_id | team1_score | team2_sore
1 | 1 | 1 | 2
1 | 2 | 2 | 2
2 | 1 | 6 | 4
2 | 2 | 7 | 6
3 | 1 | 1 | 0
3 | 2 | 3 | 0
3 | 3 | 3 | 2发布于 2016-08-20 17:38:23
您提到了MySQL,因此您似乎希望开发一个关系数据库。
第一步是定义关系。根据你的例子。
基于这些关系,我们可以定义3个表。
Sport
-----
Sport ID
Sport name
...
Game
----
Game ID
Sport ID
Game name
PeriodScore
-----------
PeriodScore ID
Game ID
Period
Score主ID字段称为盲键。它们是自动递增的整数。他们唯一的目的是把比赛和比赛联系起来,把比赛的时间和比赛成绩联系起来。否则,他们根本没有任何意义。主ID字段是它们各自表的主(群集)键。
游戏表中的运动ID是一个外键。这个关键点回到了运动表,这样你就可以得到运动的名字了。您可以创建一个唯一的索引(运动ID,游戏ID),如果你想要一个特定运动的游戏列表。
PeriodScore表中的游戏ID是另一个外键。您必须在(游戏ID,PeriodScore ID)上创建一个唯一的索引,以便您能够以正确的顺序检索期间分数。
当您想要创建一个关系数据库时,首先定义关系,然后再经过一个归一化过程。
https://stackoverflow.com/questions/39056154
复制相似问题