2015-03-02 140 views
-1

我正在研究bscs學位的最後一年項目。我正在努力解決數據庫設計問題,因爲我可以解決一對一關係的問題。我希望您能理解我的問題,併爲我提供一個最好的解決方案。一對一關係

有三個表:

  1. DomesticQuater(QuaterNo,位置,地址,AllocatedEmpID)

  2. CommercialShops(ShopId,地點,OWNERNAME,ownernic)

  3. ElectricMeter(meterno, meterphase)

開只要一個用戶可以分配給一個用戶DomesticQuater或commericalShops。

現在我應該在哪裏放置外鍵?

+0

似乎你的DomesticQuater和CommercialShops表都通過「Location」列引用了第4個表格。那麼,在電錶上放置一個位置外鍵,並在外鍵上設置一個唯一約束(以確保在同一個位置不能存在兩個電錶)? – Dan 2015-03-02 09:54:43

+0

位置不是外鍵,但是分配的emp在家居區域是emp表 – Zeeshan 2015-03-02 09:58:09

+0

的引用關鍵點。理想情況下,由於DomesticQuaters和CommercialShops都代表物理位置,因此應該有一個從兩個表引用的PhysicalLocation表。然後,您還可以從ElectricMeter表中引用PhysicalLocation表,或者從PhysicalLocation中引用ElectricMeter表(由於它是一對一關係,因此是有效的)。 – Dan 2015-03-02 10:02:23

回答

1

我認爲你應該使用計價器沒有爲外鍵 例如 DomesticQuater(QuaterNo,meterno,位置,地址,AllocatedEmpID)

CommercialShops(ShopId,meterno,地點,OWNERNAME,ownernic)

ElectricMeter(meterno,meterphase) 以這種方式針對一米不會有一個家庭用戶或商業用戶。