我正在为出售房屋和土地的网站设计数据库。我有一个问题,那就是房子可能在一个或多个土地上,而土地可能包含一个或多个土地取决于其面积。 我想出了最初的设计,土地和房子之间的关系是多对多的:
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 :(得分:0)
要回答你的第一个问题,你错过了明显的问题;您的商品表没有属性字段。你打算如何存储他们提供的产品?我建议在OfferType的列中放入H(House)或L(Land),然后添加PropertyID。这样,您可以在House或Land中加入适当的ID,具体取决于OfferType的值。
理想情况下,House和Land将是一个包含PropertyType字段的表。
答案 1 :(得分:0)
一个方法可能是拥有一个优越的属性表,而房屋和土地可以将其主键作为该表的外键。通过这种方式,您可以保持土地房屋关系,将土地和房屋混合在一张桌子上,因为它们是不同的东西,然后在要约表上添加属性ID,可以是房屋或土地。
这就像想到了遗产。
希望这有帮助。