我有一张桌子,里面有各种各样的东西。问题是有些列只有一些行填充数据。因为其他行不需要。让一些细胞空了是不是很糟糕?我应该将所有这些存储在不同的表中并且有一个主表,其中所有对象都需要的列是什么?然后,当我想选择一些我加入的东西时呢?
答案 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表示单元格为空。
如果你的表看起来像这样,你可能最好将表拆分成更多的表,正如数据库规范化所暗示的那样。