mysql表设计,不确定最佳方法

时间:2018-01-20 12:01:59

标签: php mysql

我正在构建一个mysql数据库来存储高尔夫分数。

我不确定存储圆形信息的最佳方法。

每一轮由9洞或18洞组成,每个洞需要存放

  • 孔ID
  • 拍摄张数
  • Stableford积分
  • 绿色监管
  • 球道击中
  • 推杆次数
  • 点球数

我的问题是我应该有一个巨大的桌子,存储所有这些。像rounds表一样。并且每个洞有上述7个字段18次。

或者我应该有一个较小的rounds表,其中只包含播放的日期等,然后是另一个表,例如scores,只有7个字段,并且该表中有多行可以组成整轮?

我想我会问哪个会表现得更好,哪个更好?

由于

2 个答案:

答案 0 :(得分:0)

尽可能划分您的信息。否则你将面临很多冗余数据。

答案 1 :(得分:0)

绝对是两张桌子。首先,让它的名称rounds将包含与圆形本身相关的数据,例如日期,高尔夫球场地形的ID等。另一个,我们将它命名为hole,将有7个上述字段,以及将引用该特定孔所属的round_id字段。

主要好处是更清晰的设计和避免冗余数据。如果将所有内容保存在一个巨大的表中,则每行不仅需要包含与单个孔相关的字段,还需要包含与整个圆相关的字段(日期,地形的id ...) - >许多行中的相同数据是不必要的。如果您错误地输入了错误的日期怎么办?你必须在所有9到18行而不是只有一行中更改它。

另见: