我正在使用 MySQL、InnoDB,并在 Ubuntu 13.04 上运行它。
我的一般问题是:如果我不知道我的数据库将如何发展或我的最终需求将是什么,我现在是否应该担心冗余和关系?
这是我的情况:
我目前正在从头开始构建棒球数据库,但我不确定应该如何进行。现在,我正在以模块化方式进行设计。例如,我目前正在编写一个 python 脚本来解析体育博彩网站的 XML 提要,该提要告诉我赔率线和上/下。由于我需要开始记录信息,我想知道我是否应该继续填充表格并稍后担心键等。
例如,我的 python 体育赔率抓取脚本将填充三个表格(游戏、赔率线、大小盘),如下所示:
DateTime = Date and time of observation
Game
+-----------+-----------+--------------+
| Home Team | Away Team | Date of Game |
+-----------+-----------+--------------+
Money Line
+-----------+-----------+--------------+-----------+-----------+----------+
| Home Team | Away Team | Date of Game | Home Line | Away Line | DateTime |
+-----------+-----------+--------------+-----------+-----------+----------+
Over/Under
+-----------+-----------+--------------+-----------+-----------+----------+----------+
| Home Team | Away Team | Date of Game | Total | Over | Under | DateTime |
+-----------+-----------+--------------+-----------+-----------+----------+----------+
我觉得我应该对冗余(主队、客队、比赛日期)信息栏做点什么,但我真的不知道我的数据库将如何扩展,以及我将以何种方式链接所有内容一起。我基本上是在构建一个数据库,所以我可以回答复杂的问题,例如:
当贾斯汀·维兰德(Justin Verlander)在对阵维兰德之前的 20 场比赛中与场均 5 次或更少得分的球队投球时,底特律的天气如何影响投注线?(如您所见,复杂的问题会产生复杂的关系和查询。)
那么,如果我继续并开始收集如上所示的数据,是否可以,或者这会给我带来很大的麻烦?