我正在设计一个数据库来存储高尔夫得分和其他关于每个洞或回合的统计数据,但我很难知道哪种方法最有效。我的问题集中在为课程和回合构建表格。这里有两个选项,虽然我不确定是否有更好的第三个选项。我正在使用 mySQL 5.1.63 和 PHP 5.2.17。CAPS 中的表格以提高可读性。
- 有一个存储所有课程信息的大表,因为这些信息只会在数据库中列出一次(~100 列...18 个洞 * 每个洞有 4 个属性,除了课程名称、位置、电话等)
- 课程:course_id、par_1、par_2、...par_18、distance_1、distance_2、...distance_18 等。
- 将课程信息拆分为表格,在适当的时候将某些表格与 course_id 连接起来
- COURSE_PAR: course_id, par_1, par_2, ...par_18
- COURSE_DISTANCE: course_id, distance_1, distance_2, ...distance_18
- COURSE_INFO:course_id、course_name、地址、电话……
- 等等
关于记录这一轮,可以问一个类似的问题。我有round_1、round_2、...、hit_fairway_1、hit_fairway_2、num_putts_1、num_putts_2,还是我将这些属性中的每一个分解到自己的表中?这个问题及其答案倾向于将其分解为表格。这是否意味着这样的结构:
- SCORE:hole_num, course_id, round_id, score, hit_fairway, num_putts, ...
重复查询(使用 PHP)将主要针对该人的击球是否高于或低于标准杆、击球道、推杆数等。
希望我的问题足够清楚。我知道那里有半相似的问题,就像上面提到的那样,但我无法将这些答案完全转移到我正在寻找的东西上。
谢谢!