联结表中的列是否应该能够存储空值?

时间:2011-01-23 12:58:11

标签: sql

在sql中创建联结表以处理两个表之间的多对多关系时,联结表中的外键列是否应该能够存储空值?

3 个答案:

答案 0 :(得分:2)

这样做是个坏主意,因为它不存储任何信息。

联结表是2个表之间的链接。如果存在记录,则根据定义,它必须具有来自两侧的id以形成“联结”链接。否则它没有任何有用的信息,被称为waste-of-space TM

答案 1 :(得分:2)

没有。在您设计用于存储关系存在的表中存储表示缺少关系的行是没有意义的。

答案 2 :(得分:1)

除了其他答案:

引用其他表的两列通常是该联结表的主键。因此,根据定义,它们不能为空。

在某些情况下,这些列不构成完整的主键(例如,当属性作为链接的一部分并允许具有不同属性的多个链接时) - 但是该属性是PK的一部分。