2012-01-18 157 views
0

可以說我們有3個表:汽車,人,公司。 我們希望車主是一個人或一個公司。 Cars表的結構是:Car_id,Car_model,Owner_id 這是最好的方法嗎?關係數據庫模型

+1

你能改變結構嗎?你有什麼是遠非理想。 – 2012-01-18 23:00:12

+0

你是什麼意思? – stelios 2012-01-18 23:03:16

+0

我的意思是你允許添加或更改'cars'表中的列嗎? – 2012-01-18 23:06:30

回答

0

如何在Cars表中添加另一個字段作爲「Owner_type_id」,它將確定所有者是人或公司還是其他任何東西。當然,你應該保留另一個表「Owner_Types」來使這種情況起作用。

1

如果你不能改變車表的當前結構,那麼您可以添加新的表稱爲owners有以下欄目:

numberID - 唯一的密鑰
numberowner_id - - 這是店主的實際編號
charowner_type - 這是表示店主是人還是公司的價值

然後,您需要將參考號carsowners交叉,並查看owner_type的值以確定從哪個表獲取您的所有者數據。

編輯

忘了提(相當重要):

cars表,填充owner_idowners.id列。

0

正如Igby提到,現有的結構很不理想,但如果你堅持了下來,一個選擇是具有從Car表具有owner_id以及一個person_idcompany_idOwner表,其中只有一個需要填充。