【发布时间】:2017-11-15 18:42:35
【问题描述】:
我正在尝试实现类似于 StackOverflow 的标签系统。显然我已经阅读了包括answer在内的多篇文章。
但是我的情况有点不同
- 标签数量有限,只能由具有更高权限的用户创建(任何人都可以在那里分配标签)。这不包括选项#1(从我上面链接的SO问题中,每个标签都直接插入到表
tags列中,然后用LIKE查询)我猜 - DB 中还有多个可以标记的表(目前有五个)
特别是第二个标准更难,所以这些是我的想法
- 我可以按照选项 #3,拥有表
tags并与每个表有 M:N 关系。但是,这会使搜索变得更加困难(想象一下,如果表数增加则加入),而且我需要告诉哪个表(应用程序模块)与搜索结果中的标签匹配 - 我可以使用某种多态性,但我对这个关于数据库的概念还很陌生,所以这是否适合这个问题?
我使用最新版本的 PostgreSQL。
【问题讨论】:
-
发布选项。
-
在我链接的问题中
-
如果这个问题和另一个问题一样,它应该被关闭。否则问题的所有元素都应该在问题中。
-
不一样,这个问题将原来的问题扩展到不同的问题(恕我直言)
标签: database postgresql polymorphism tagging