假设我的情况很简单。我的网站有user
表格,我需要在某处放置激活码以进行电子邮件验证。
什么是更好的选择:
activation_code
表中的user
列,这意味着当电子邮件已经过验证时,我会收到NULL或无用的数据。但另一方面,我确信,每个用户只有一个代码,而且每个用户只有一个表。因为我尽量不使用任何NULL(因为我是这样教的,所以不确定是否正确),我更喜欢第二种选择。但我在许多网络应用程序中看到了第一种方式,所以这就是我提出这个问题的原因。
答案 0 :(得分:3)
我会提倡单独的表格,因为在我看来,它会更好地模拟数据。它还允许您为同一个用户生成多个激活码 - 这可以派上用场!
另一方面,我完全不同意不使用NULL的做法。我知道有些人提倡转向清除它们的原因通常可归因于懒惰,但现实是NULL在建模数据时非常有用!它们的目的是表示缺少数据或未知值,它们绝对应该用于此目的!