我正在创建一个列出本地商家的应用程序,并按类别,子类别和关键字对它们进行分组。以下是有关业务分类的规则:
另外值得一提的是,客户已经在excel文档中给出了我的业务列表,其中包括:
我一直试图通过数据透视表来解决这个问题,但这导致了我很多支点(category_subcategory,business_keyword,business_category),我担心这会对性能产生重大影响。将根据过滤器确定要显示哪些商家的查询。
我认为我走在正确的轨道上,但我觉得有一种更优化的方式来解决这个问题。
答案 0 :(得分:0)
如果我正确地阅读了所有这些,我认为你应该制作这些表格:
企业
id,name等。
关键字
id,word等。
类别
id,name等。
子类别
id,name等。
categories_subcategories
id,category_id,subcategory_id
businesses_categories
id,business_id,category_id
businesses_subcategories
id,business_id,subcategory_id
businesses_keywords
id,business_id,keyword_id
答案 1 :(得分:0)
正确的方法是拥有这样的东西:
1.Business(id(* PK),name,...)
2.Keyword(id(* PK),关键字,......)
3.Category(id(* PK),name,parent_category(* FK),...)
4.Bis_cat(bis_id(* FK),cat_id(* FK),...)
5.Bis_key(bis_id(* FK),keyword_id(* FK),...)
其中(* PK)是主键,(* FK)是外键。
在此模型中,您将使用递归来获得无限的子类别。如果你想100%确定你想要有任何错误,你也可以添加参考完整性,但这是对数据库的一个非常严格的限制,所以如果你知道怎么做就把它放进去。