关于在表上创建字段的提示


Tips on Creating Fields on table

我在表方面遇到了问题。我这里有一块田地是这样的。

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"将它们连接起来,我希望这是您的主键。