代码之家  ›  专栏  ›  技术社区  ›  Jakub Matczak

一个带有null的表与两个表

  •  0
  • Jakub Matczak  · 技术社区  · 13 年前

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

    什么是更好的选择:

    1. activation_code 中的列 使用者 表,这意味着当电子邮件已经验证时,我将获得NULL或无用的数据。但另一方面,我确信,每个用户只有一个代码,少了一个表。
    2. 代码的单独表格。没有无用的数据或NULL。但是为一列(+user_id)添加了一个额外的表。

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

    1 回复  |  直到 13 年前
        1
  •  3
  •   Mike Dinescu    13 年前

    我主张使用单独的表格,因为在我看来,它可以更好地模拟数据。它还允许您为同一用户生成多个激活码——这很方便!

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