首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分类、子类别和关键词过滤数据的数据库设计

分类、子类别和关键词过滤数据的数据库设计
EN

Stack Overflow用户
提问于 2016-12-20 18:34:17
回答 2查看 241关注 0票数 1

我正在创建一个应用程序,该应用程序按类别、子类别和关键字列出本地企业和组。以下是如何对企业进行分类的规则:

  • 一个企业可以属于多个类别和子类别。
  • 企业可以有多个关键字。
  • 并非每个类别都有子类别,但只有两个层次(类别->子类别)。
  • 一个子类别可以属于多个类别。

还值得一提的是,客户在excel文档中给了我业务列表,如下所示:

  • 每个类别都是一个单独的选项卡或页。
  • 每一页都包含业务、地址、关键字和子类别的列表。
  • 业务‘子类别’由带有子类别名称的列中的'X‘指定

我一直试图通过枢轴表来解决这个问题,但是这导致了我找到了相当多的枢轴(category_subcategory、business_keyword、business_category),我担心这会对性能产生很大的影响,这会影响查询量,这些查询将根据筛选器来确定要显示哪些业务。

我认为我走在正确的轨道上,但我觉得有更好的方法来解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2016-12-20 20:25:56

如果我没看错的话,我认为你应该做这些表格:

企业

身份证、姓名等

关键词

身份证、字句等

类别

身份证、姓名等

亚类

身份证、姓名等

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

票数 0
EN

Stack Overflow用户

发布于 2016-12-20 21:03:48

正确的方法是有这样的东西:

1.业务(id (*PK),名称,.)

2.关键字(id (*PK)、关键字.)

3.类别(id(*PK)、名称、parent_category (*FK)、.)

4.Bis_cat(bis_id (*FK),cat_id (*FK),.)

5.Bis_key(bis_id (*FK),keyword_id(*FK),.)

其中(*PK)是主键,(*FK)是外键。

在这个模型中,您将使用递归拥有无限的子类别。如果您想100%确定您希望有任何错误,也可以添加引用整数,但是这对db是非常严格的限制,所以如果您知道如何做,就把它放进去。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41249062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档