我不知道如何根据以下要求设计dbms:
对于类似广告的网站,有很多类别。
每个类别都有可选的子类别。每个子类别可以有可选的子类别......依此类推。 根据每个类别(用户选择搜索),将有仅适用于此类别的搜索条件,例如:
如果用户选择了Autos类别,则会有以下搜索条件:品牌,型号,首次注册,燃料类型,但如果她选择Flats类别,则会有以下搜索条件:2间卧室,3间卧室,私人,代理 。
我希望我尽可能简单地解释它。
答案 0 :(得分:1)
这意味着处理分层数据,因此有许多模型可供选择,每个模型都有其局限性和优势。
我建议在实际开始设计架构之前阅读http://articles.sitepoint.com/article/hierarchical-data-database。对于我的项目,我使用了邻接列表方法,因为它更容易理解,但是当你需要查询它时,一切都变得困难,所以嵌套集可能会更好。
MySql似乎推荐嵌套集http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
答案 1 :(得分:0)
table ad [ad_id, category_id, {other fields}]
table category [category_id, name, parent_category_id(default=0)]
任何类别都可以拥有父类别,因此您可以永久地将其归类 每个广告都有一个起始类别,如果该类别有孩子,那么如果他们有孩子则获得这些,然后无限制地获得这些广告