0

假设我有一个简单的情况。我的网站有user表格,我需要在某处放置激活码以进行电子邮件验证。

什么是更好的选择:

  1. activation_code表中的列user,这意味着当电子邮件已被验证时,我将获得 NULL 或无用数据。但另一方面,我敢肯定,我每个用户只有一个代码,而且少了一个表。
  2. 单独的代码表。没有无用的数据或 NULL。但是一列的附加表(+ user_id)。

因为我尽量不使用任何 NULL(那是因为我被教过,不确定是否正确),我更喜欢第二个选项。但是我在许多网络应用程序中看到了第一种方式,所以这就是我提出这个问题的原因。

4

1 回答 1

3

我会提倡使用单独的表格,因为在我看来它可以更好地模拟数据。它还允许您为同一用户生成多个激活码 - 这可以派上用场!

另一方面,我完全不同意不使用 NULL 的做法。我知道有些人主张避开它们,原因通常可以归因于懒惰,但现实情况是 NULL 在建模数据时非常有用!它们的目的是表示缺失的数据未知值,它们绝对应该用于此目的!

于 2013-03-04T21:56:28.813 回答