0
我正在建模MySQL數據庫並開始掙扎。SQL DB方案建模:具有兩個不同類型所有者的車輛
情況:有關於所有參數的vehicle
表。有person
表與人的信息。並且還有firm
表和公司信息。每個人和每個公司可以有0 .. *車輛。每輛車可以有0..1的車主。車主只能是一個人或一家公司。
所以我打算使用vehicleid來查詢有關所有者的信息。因爲在不同表格中有兩種主人,我該怎麼辦?將列添加到車輛表,哪個車主是哪個車主?
當然,我打算創建額外的關係表。但是我不知道如何處理問題,那麼外鍵可以反映到兩個不同的表格,並且只有一行。
感謝您的建議。
使用ID,companyID,personID創建表「所有者」,以便爲每個相關表獲取NULL或有效且唯一的外鍵關係。 – Max
但是,那麼在這兩列中的50%行中將會有NULL值 – Vinigas
這是正確的。但是,對於引用多個表的列來說,這是更可取的。 你也可以做的是有一箇中央Id表(我一直在做),然後引用來自於vehecle表,然後詢問相應的ID是否存在於個人或公司表中。但是,這使得查詢效率低於僅從您的(隱式)臨時表中刪除NULL。 – Max