2013-11-14 54 views
1

我正在設計一個銷售房屋和土地網站的數據庫。我有一個問題,即房子可能在一個或多個土地上,並且土地可能包含一個或多個土地取決於它的面積。 我想出了初步設計,土地和房子之間的關係是多對多:數據庫設計的房屋銷售網站在mysql

House: 
Id - Name – area –landID – noRooms – hasSwimmingPool 
Land: 
Id – name – area - location 
Offer: (contain the offer of either a land or a house) 
Id – userID – type – paymentMethod 
Land_House: 
houseID – landID 

我仍然無法與Land_House表的報價表。

有沒有比我做的更好的方法?什麼是最好的方法?

回答

0

一個方法可能是擁有一個高級的Property table,而房屋和土地可以將他們的主鍵作爲該表的外鍵。通過這種方式,您可以保持土地房屋關係不混合一張桌子上的土地和房屋,因爲它們是不同的東西,然後在房源表上添加房產ID,可以是房子或土地。

這就像想到繼承。

希望這會有所幫助。

+0

是否與Land_House表類似,然後我應該在商品表中添加Land_House_id? – user1446168

0

要回答你的第一個問題,你錯過了顯而易見的;您的優惠表沒有屬性的字段。你打算如何存儲他們提供的優惠?我建議在OfferType的列中存儲H(House)或L(Land),然後添加PropertyID。通過這種方式,您可以返回House或Land中的適當ID,具體取決於OfferType的價值。

理想情況下,House和Land將是一個帶有PropertyType字段的表。

+0

對不起,我沒有得到你的建議。 – user1446168