2010-11-12 83 views
0

我不知道如何设计DBMS以下要求:DBMS设计这样的广告网站

对广告类网站有一堆类别。

每个类别都有可选的子类别。每个子类别可能有可选的子类别...等等。 根据每个类别(用户选择搜索),将会有仅适用于此类别的搜索条件,例如:

如果用户选择了类别自动,将会有以下搜索条件:制造,型号,首次注册,燃料类型,但如果她选择类别单位将有以下搜索条件:2间卧室,3间卧室,私人,代理 。

我希望我解释它尽可能简单。

+1

这是一个非常广阔的,边界线广泛,有用的问题。我知道听到这很痛苦,但你应该为初学者拿起一本关于数据库的书。这真的是最好的。 – Dlongnecker 2010-11-12 20:22:16

回答

0
table ad [ad_id, category_id, {other fields}] 
table category [category_id, name, parent_category_id(default=0)] 

任何类别可以有一个父类,所以你可以永远壳他们 每个广告都有一个开始类别,如果类别有孩子,那么得到这些,如果他们有孩子,然后让那些循环往复

1

这意味着处理分层数据,因此有许多模型可供选择,每个模型都有其局限性和优势。

在实际开始设计您的模式之前,我会推荐阅读http://articles.sitepoint.com/article/hierarchical-data-database。对于我的项目,我使用了邻接列表方法,因为它更容易理解,但是当您需要查询它时,一切都变得困难,所以也许嵌套集合会更好。

的MySql似乎建议嵌套设置http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/