请看下面的数据库设计:
create table Person (id int identity, InvoiceID int not null)
create table Invoice (id int identity, date datetime)
目前所有人都有一个
invoiceID
即 InvoiceID
是 not null
.我想扩展数据库,以便某些人没有
Invoice
.最初的开发人员讨厌空值并且从不使用它们。我想保持一致,所以我想知道是否还有其他模式可以用来扩展数据库以满足此要求。如何在不使用空值的情况下解决这个问题?请注意,以上两个表格仅供说明之用。它们不是实际的表。
最佳答案
NULL 是数据库和编程中一个非常重要的特性。它与零或任何其他值显着不同。它最常用于表示值的缺失(虽然它也可以表示未知的值,但很少用作解释)。如果有些人没有发票,那么您应该真正允许 NULL,因为它与您想要的 Schema 匹配
关于SQL - NULL 外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13885305/