2015-03-02 141 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) 以这种方式针对一米不会有一个家庭用户或商业用户。