Chr*_*s L 5 sql database-design normalization denormalization
有人建议移动一个充满设置的表,其中每列是设置名称(或类型),行是客户及其各设置的相应设置.
ID | IsAdmin | ImagePath
------------------------------
12 | 1 |\path\to\images
34 | 0 | \路径\为\图片
这样做的缺点是每次我们想要一个新的设置名称(或类型),我们改变表(通过sql)并添加新的(列)设置名称/类型.然后更新行(以便每个客户现在都有该设置的值).
新表设计方案.建议是有一个用于设置名称的列和另一个用于设置的列.
ID | SettingName | SettingValue
----------------------------
12 | IsAdmin | 1
12 | ImagePath |\path\to\images
34 | IsAdmin | 0
34 | ImagePath | \路径\为\图片
他们提出的观点是,添加新设置就像对行的简单插入语句一样简单,没有添加列.
但是对于第二种设计来说感觉不对,它看起来很糟糕,但我无法提出反对它的任何论据.我错了吗?