在mysql中销售网站的房屋的数据库设计

时间:2013-11-14 17:14:00

标签: mysql sql database-design

我正在为出售房屋和土地的网站设计数据库。我有一个问题,那就是房子可能在一个或多个土地上,而土地可能包含一个或多个土地取决于其面积。 我想出了最初的设计,土地和房子之间的关系是多对多的:

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表与商品表相关联。

有没有比我做的更好的方法?什么是最好的方式?

2 个答案:

答案 0 :(得分:0)

要回答你的第一个问题,你错过了明显的问题;您的商品表没有属性字段。你打算如何存储他们提供的产品?我建议在OfferType的列中放入H(House)或L(Land),然后添加PropertyID。这样,您可以在House或Land中加入适当的ID,具体取决于OfferType的值。

理想情况下,House和Land将是一个包含PropertyType字段的表。

答案 1 :(得分:0)

一个方法可能是拥有一个优越的属性表,而房屋和土地可以将其主键作为该表的外键。通过这种方式,您可以保持土地房屋关系,将土地和房屋混合在一张桌子上,因为它们是不同的东西,然后在要约表上添加属性ID,可以是房屋或土地。

这就像想到了遗产。

希望这有帮助。