我在表方面遇到了问题。我这里有一块田地是这样的。
invoice.table
id
member_id (related with member table)
donor_id (related with donor table)
receipt_no
currency_type (USD or PHP or YEN)
rate
amount_type (CASH or CHECK)
if check{ check_no, bank_name, date}
amount (the amount received)
date
将其创建为一个表不会有问题。我关注的是将要接收的NULL
值。某些字段将保留为空,而其他字段则不保留。有更好的建议吗?
在实践中,最好尽可能避免使用null值。
从SQL Server的空值页面:
我们建议您避免允许null值,因为null值会导致查询和更新更加复杂;还有其他列选项,如PRIMARY KEY约束,不能与可为null的列一起使用。
如果你想了解更多关于null值的信息,也可以看看这篇博客文章。他的帖子的TLDR版本基本上说:"除非绝对必要,否则不要允许空值。这只会让你自己更难。"
最后,你可以看看这个问题,它和你的问题非常相似,并解释为什么使用null是个坏主意。
在某些字段中保留空值没有害处。
虽然对于上面的表,我建议您制作两个表,一个单独检查,并使用"id"将它们连接起来,我希望这是您的主键。