所以这里有两个问题。
在我的数据库中,我需要18个区域,因为在高尔夫球场有18个洞(因此每个洞有18个存储点。)其次,我需要存储每个洞的码数(这样还需要18个。)
我的问题是,我现在宣布他们全部如下:
public static final String KEY_H1 = "h1";
public static final String KEY_H1Y = "h1y";
public static final String KEY_H2 = "h2";
public static final String KEY_H2Y = "h2y";
public static final String KEY_H3 = "h3";
public static final String KEY_H3Y = "h3y";
等
h1是洞1 我是洞1码
有更好的方法吗?另外,在创建时我将不得不调用h1 h1y h2 h2y h3 h3y等。
提前致谢!
编辑:1。这会对系统征税很多,导致应用程序爆炸或运行速度慢吗? 2.将来,这会让更新数据库变得痛苦吗?
答案 0 :(得分:3)
你可以代替拥有“高尔夫比赛得分”牌桌,拥有“洞口得分”牌桌。然后,该表可以包含一个用于洞的int列,另一个用于码数的列,以及另一个game_id列。
答案 1 :(得分:1)
接受Kabuku's回答:假设对于一轮高尔夫球,你想知道这个球员有多少小鸟,老鹰,转向架等;或者你想找出哪个洞的最佳分数与标准杆相比最差,等等。你真的想写相同的代码18次,每个洞一次;或者你是否希望能够编写一次代码,作为循环或查询漏洞,以找到结果?
这只是您真正想要将孔编号作为参数的一个原因,而不是为每个孔创建单独的静态变量或列。
要回答你问题的另一部分 - 它是否会减慢系统宣布大量公共静态最终变量的速度 - 答案是否定的。但在这种特殊情况下,它最终会减慢你。
答案 2 :(得分:0)
我只是将它存储为一个字符串,因为你有从 x 到 y 的字段,它应该总是以某种数组形式存在。我认为最简单的方法是将其存储为:
hits:yardage hits:yardage hits:yardage
etc...
在您的数据库中,然后按:
和分割字符串。
(并且为了回应您的编辑,是的,您当前的方式可能会使更新数据库结构变得不必要地困难。)
答案 3 :(得分:0)
我有两张牌桌,一张游戏桌和一张洞洞评分表。
游戏桌上会有日期和课程。
洞洞得分表将包含游戏桌中游戏记录的洞号,码数,分数和_id。