规范化混淆,是一种传递依赖的东西吗?

Normalization confusion , is a type of something a transitive dependency?

v_type 是否需要在单独的 table 中,是或否请解释应用了哪个规范化规则?我希望这个 table 归一化到 3NF。

Vechile
v_id (pk) | V_name     |  V_type
----------------------------------
v1          Ferrai        car
v2          merto         train
v3          City_bus      bus
v4          Lamborgini    car
v5          grey hound    bus

就此处而言,table 已标准化。使用 "car" 或 "metro" 之类的字符串作为 V_type table 的主键或仅作为车辆 table 的属性是合法的。只有当您将 V_type 实体的附加属性放入载具 table 时,才会违反规范化,例如确定它是 public 还是私人交通工具的属性 public

即使您没有此类附加属性,也可能有理由将车辆类型分成 table。这样您就可以控制可能存在的车辆类型。在您当前的设计中,如果有人输入一条记录,如

v18   Mercedes   cra

那将被接受。但是,如果您的车辆类型 table 仅包含有效车辆类型的条目,例如汽车、地铁、公共汽车和火车,您可以通过外键约束确保车辆 table 仅引用那些类型。