在数据库设计中使用类型列或单独的类型 table?

use a type column or separate type table in database design?

我有一个类别 table。每个类别都有一个类型。我有 3 个类型的想法:

  1. 使用类型 table 并使用类别中的 type_id 列(外键到类型 table 的 ID)。
  2. 使用类型 table 类型中的名称是主键,类别中的名称 typ_name(string) 是主键。在这个想法中,我不需要加入来获取类型名称。
  3. 在类别中使用类型列,不要使用单独的类型table(我认为这样不好)。

您应该选择第一个选项,原因如下:

  • 从该方法中提取数据更容易
  • 数据将被归一化
  • 您可以轻松区分不同类别的事物
  • 即使是外行也更容易理解