【发布时间】:2016-06-02 15:04:37
【问题描述】:
我必须创建一个包含大量数据的数据库应用程序。所以现在我需要一个好的表/数据库设计。我有两个想法,但我愿意接受新的。第一:这类似于我必须保存的数据:
食物:牛肉
包含:
溴:百分比:12% /// 克:0.23
铀:百分比:1% /// 克:0.003
黄金:百分比:0.03% /// 克:0.02
等等
现在我看到了两个设计:
对于每个元素(Brom、Gold、...),我创建了一个类似“brom_tbl、gold_tbl”的表和一个显示名称和全局 ID 的表 (gbl_tbl)。然后,当我想读取所有数据时,我只需将它们连接在一起。
这是第二个:
我只有一张这样的表:
名称 | brom_percent | brom_gram |黄金百分比 |金克| ...
牛肉 | 12 | 0.23 | 0.03 | 0.02
然后我就会把所有的东西都读出来。
如果你能告诉我什么更快或更好,那就太好了。
谢谢:)
【问题讨论】:
-
使用一张表。并且不要使用像
gbl_tbl这样的名称,它不是 MS-DOS。 -
“gbl”应该是“全球”的意思吗?如果有意义,则将其命名为“全局”。更好的是,命名为“food_metal_content”或任何表格。因此,在 10 年内,当有人浏览您的(然后是 100 张不同的)表时,他们将能够找到正确的一张。无需使用神秘的缩写词。
-
使用真实的话。没有理由写
tbl而不是table。这同样适用于代码中的变量名。未来的你和其他开发者会为此感谢你。 -
太好了,现在剩下的工作日我的脑子里都会有“gibble tibble”。
-
@KirkBeard 通常根本没有理由在表名中写“表”。
users_table可以是users。
标签: mysql database-design