我即将开发一个用于学习目的的个人项目。一个房地产网站,广告客户(注册用户)可以为他们的房产(公寓,土地,房屋...)出租广告(定义期限或未定义期限)或出售广告。此外,凡客户(游客)可以搜索的特定类型的房产或购买在特定的位置。Mysql子类型和超类型 - 数据库建模
业务规则:
- 用户是注册一个。
- 用户有一个角色,只有一个角色(用户,管理员...)。
- 角色属于许多用户(每个用户的默认角色是用户)。
- 用户有一个位置,只有一个位置(位置指地址)。
- 位置属于许多用户。
- 用户有很多属性(无论是出租还是出售)。
- 属性属于一个用户。
- 属性属于一个位置(位置指地址)。
- 文件属于属性。
- 属性有很多文件(基本上是图片)。
我做了这么多的谷歌搜索,看到了一些数据库建模databaseanswers.org但我卡在属性的类型/功能,我真的不能弄清楚,我不知道最好的解决方案!因为每种类型的酒店有不同的功能,例如公寓有客房,浴室......但土地没有,对土地,我们可以说他们是在城镇或出城......
我想设计这个数据库更易于维护和扩展。我不希望数据库设计结构在开发过程中导致更复杂的查询/代码。
如果你能给我一些关于我的“小”问题的建议,我将不胜感激。
我必须每个物业的例如公寓表,土地表,房子分出类型自己实体(表)表......这样,我可以将它们用自己的功能。
还是我必须合并它们在一个表“属性”所有的特点,并有另一个表“类型”每个物业到其类型的链接(如在帖子和类别)。
还是我必须创建四个表“属性”“类型”“功能”和数据透视表“feature_property”。
- 房产属于一种类型(公寓,土地,房屋,...)。
- 类型有许多属性。
- 功能有很多属性。
- 属性有许多功能。
许多类似的问题已被分组在下面:[Tag:class-table-inheritance] –