我想知道的是它更有用,更实用(DB的大小)来创建SQL多个表中有两列或合并,并创建一个表(包含外键和含有随机数据,一列一列)包含多列。我这样问是因为在我的方案中,一个持有主键的产品可能只有一个列有足够的/适用的数据,而其他列将是空的。架构SQL表
example a. one table
productID productname weight no_of_pages
1 book 130 500
2 watch 50 null
3 ring null null
example b. three tables
productID productname
1 book
2 watch
3 ring
productID weight
1 130
2 50
productID no_of_pages
1 500
感谢拉里,但是你不觉得这将是复杂,有书表,戒指表等即。扩展某个产品的所有可用信息。例如,如果(随着时间的推移)某些信息因为可用于书籍和戒指而不适用于手表。你应该将这些信息放在产品表中还是在书籍和手表表格中有重复的列? – mko 2010-11-11 19:28:37
这取决于您的数据库中可能合理发生的产品类别数量。我会尝试设计系统,以便在没有扩展器的情况下将_most_类别放入Products表中。对于多个类别的公共信息,我不得不使在产品表的判断值是否它属于1),2)重复两个增量的表或3)在产品表和其他两个之间的中间扩扩展表。 – 2010-11-11 19:33:38
所以这使我们的另一个问题 - 基于产品或基于属性或属性集(按主题分类)创建宜表。 – mko 2010-11-11 19:40:39