我需要在20个国家(最初)存储30个类别的项目总计,并且还能够轻松更新和检索它们。这样做有什么好办法?
我目前的方法是将类别用作列名。
"genId" "country" "alcohol_spirits" "music" /* other categories go here */
"1" "US" "0" "0"
"2" "UK" "0" "0"
"3" "SE" "0" "0"
/* other countries go here */
或
将国家/地区代码用作列名
"genId" "category" "US" "UK" /* other countries go here */
"1" "music" "0" "0"
"2" "movies" "0" "0"
"3" "food&Beverage" "0" "0"
/* other categories go here */
没有人对我的两种方法都说得好。
你能建议一个更好的方法吗?
答案 0 :(得分:2)
您需要有一个类别表,其中包含类别ID及其描述,以及另一个国家/地区的表格。然后你在主表(无论是什么)中,你可以使用ID链接到两者。
另外,当你说要存储总数时,你让我担心。您是否计划存储计算值?这在数据库设计中是一个很大的禁忌。每当除之外,你应该总是重新计算一切,因为它的时间成本是不可接受的。
答案 1 :(得分:1)
嗯,从您的设计来看,当类别或国家/地区增长时,您必须更改表格结构。在许多环境中,它会引起麻烦。
我可能会有以下表格,
表国家/地区
国家/地区ID
...
表类别
Catetory ID
.....
表总计
CountryID
类别ID
总价值
...