假设我们有3个表:汽车,人,公司。 我们希望汽车的所有者是人或公司。 Cars表的结构是:Car_id,Car_model,Owner_id 这是最好的方法吗?
答案 0 :(得分:1)
如果您无法更改cars表的当前结构,则可以添加名为owners
的新表,其中包含以下列:
number
id - 唯一键
number
owner_id - 这是实际的所有者ID
char
owner_type - 这是一个值,表明所有者是个人还是公司
然后,您需要与cars
交叉引用owners
,并查看owner_type
的值,以确定从哪个表中获取您的所有者数据。
修改强>
忘记提及(相当重要):
在cars
表格中,使用owner_id
列填充owners.id
。
答案 1 :(得分:0)
如何将Cars表中的另一个字段设置为“Owner_type_id”,以确定所有者是个人还是公司或任何其他东西。当然,您应该保留另一个表“Owner_Types”以使此方案起作用。
答案 2 :(得分:0)
正如Igby所说,你现有的结构远非理想,但如果你坚持使用它,一个选择就是拥有一个Owner
表,其中owner_id
来自{{1}表格以及Car
和person_id
,只需要填充其中一个。