【发布时间】:2011-01-25 02:14:42
【问题描述】:
有人建议移动一个充满设置的表格,其中每列是设置名称(或类型),行是客户及其各自的设置。
ID |管理员 |图像路径
------------------------------
12 | 1 | \路径\到\图像
34 | 0 | \path\to\images
这样做的缺点是每次我们想要一个新的设置名称(或类型)时,我们都会更改表(通过 sql)并添加新的(列)设置名称/类型。然后更新行(以便每个客户现在都有该设置的值)。
新的桌子设计方案。建议有一个用于设置名称的列和另一个用于设置的列。
身份证 |设置名称 |设置值
----------------------------------------
12 |管理员 | 1
12 |图像路径 | \路径\到\图像
34 |管理员 | 0
34 |图像路径 | \path\to\images
他们提出的观点是,添加新设置就像对行的简单插入语句一样简单,无需添加列。
但是第二种设计感觉有些不对劲,看起来很糟糕,但我无法提出任何反对意见。我错了吗?
【问题讨论】:
标签: sql database-design normalization denormalization