我正在创建一个发票系统,而不是在所有系统设置所在的位置创建一个配置表。我想知道如何插入设置。我想知道的是:
配置表(带列)

config1 config2 config3 config4
-------------------------------
1       2       gtm     2

配置表(带行)
config      value
-----------------
config1     1
config2     2
config3     gtm
config4     2

有什么建议吗?

最佳答案

对于数据结构来说,第二个选项要好得多,它允许更复杂的查询(如果您曾经希望使用选项1进行连接呢?),数据挖掘等。它还允许更好的扩展性,您应该将列作为数据的分母,将行作为原始信息。如果没有列标题,您将无法单独解释原始数据和/或其可变性。
这样看,首先-如果你想添加一个新配置-在option#1中这样做的开销不如option#2实用。您需要在表中添加一个新列,然后(可能)更新引用该表的所有SQL语句,以知道有一个新列。如果在选项2中添加一个新配置,它只是一个新行,那么表结构保持不变,因此代码中的实现保持不变。

10-08 18:37