MySql:存储空单元格,这很糟糕吗?

时间:2012-08-05 14:05:36

标签: mysql select

我有一张桌子,里面有各种各样的东西。问题是有些列只有一些行填充数据。因为其他行不需要。让一些细胞空了是不是很糟糕?我应该将所有这些存储在不同的表中并且有一个主表,其中所有对象都需要的列是什么?然后,当我想选择一些我加入的东西时呢?

2 个答案:

答案 0 :(得分:2)

有一些空单元格也不错。大多数情况下,当表之间的关系有1个以上时,您只需要多个表。

答案 1 :(得分:1)

根据您提供的少量信息,可能是在一个表格中存储有关不同类型对象的信息的情况,例如汽车,人员,房屋等。

请原谅我过于简单化的例子,想不出更好的例子。

人们有姓名,姓氏,出生日期等属性。汽车具有品牌,颜色,门数,发动机容量等属性。房屋有面积,卧室数量,花园(是或否)等。

当这样的表格填充条目时,它将如下所示:

id name   attr1 atttr2 attr3 attr4 attr5 attr6  
1  car1   1     1      0     0     0     0  
2  car2   1     1      0     0     0     0       
3  man1   0     0      1     1     0     0        
4  man2   0     0      1     1     0     0  
5  house1 0     0      0     0     1     1  
6  house2 0     0      0     0     1     1  

1表示单元格有一些数据,0表示单元格为空。

如果你的表看起来像这样,你可能最好将表拆分成更多的表,正如数据库规范化所暗示的那样。