数据库设计:许多丑陋的列,或分成行

时间:2010-08-18 18:06:11

标签: database-design

我正在设计一个数据库而且我遇到了一个我不确定哪个是更好的设计的地方,所以我决定在这里得到一些输入。

问题是我有几列重复的数据,沿着

1页:

aName, aSize, aColor
bName, bSize, bColor
cName, cSize, cColor

第2页:

aName, aSize, aColor
bName, bSize, bColor
cName, cSize, cColor

所以我可以有这样的设计:

[pageId] [aName] [aSize] [aColor] [bName] [bSize] [bColor] etc.

或将其拆分为行

[pageId] [letter] [name] [size] [color]

前者表现更好,而后者看起来更干净。有没有比这两个选项更好的方法来解决问题?我正在使用PHP和MySQL,但无论平台如何,我都对任何解决方案感兴趣。

2 个答案:

答案 0 :(得分:3)

规格化

如果您今天有a,b和c部分,明天可能会有d和e部分。或者c部分可能会消失。

答案 1 :(得分:0)

我会使用选项2,因为您现在可以使用更清晰的代码,因为您现在可以遍历该字母。

也许这在生产网站中没用,但在脚本或管理网站中可能会派上用场。

此外,性能也不应太差,因为到服务器的往返将超过获取3个较小的行。