给定一个设备实体,它有一个位置,通常称为行踪。这可以参考:
用户实体(将在下周使用并负责设备的员工)。
供应商实体(如果设备正在维修)。
一个 StorageLocation 实体(如果设备已放好)。
一件设备一次只能在一个地方,即使那个地方不是物理位置。
这个会比较好吗:
拥有具有三列(UserId、VendorId、StorageLocationId)的设备,以便其中一列必须不为空,而另外两列必须为空(由约束强制执行)?
或者让 Equipment 的 WhereaboutsId 引用某种类型的超类型表,然后作为子类型表链接到 User、Vendor 和 StorageLocation,即使它们不共享其他公共属性?
或者是其他东西?