我正在构建一个用户可以添加注释的应用程序。我希望用户能够为笔记添加一些标签并在之后对其进行过滤。到目前为止,我允许用户使用字符串工作并使用 LIKE %% 进行过滤。但这并不能完全满足我的需求,因为当有更多标签时,我可能需要搜索并非所有标签,使用运算符等。例如:stackoverflow 标签。
我正在考虑以下SQL结构
- 有一个名为“notes”的表,列名为“tag_id”
- 有一个名为“tags”的表,它为“tag_id”提供“文本”
- 一个函数,它翻译每个数组(向前和向后)并将其替换为相反的等价物 [numbers <=> tag translations for front end, and tag translations <=> number for the database and following filtering]
问题是:这样做是个好主意吗?我应该如何构建我的数据库?你知道任何可以帮助我的特定文章吗?