多对多关系如何建表?

发布于 2022-09-07 23:19:08 字数 360 浏览 38 评论 0

问题描述

有这样一个关系需要管理:
有多个app,每个app下有多个标签tag,每个tag有多个user。user可能在app1的tag11、tag12下,也可能在app2的tag21、tag22下。
这种情况下如何建立关系表呢?

附加问题:
像这种构建一个标签系统(数据量比较大),业界一般有什么解决方案?

问题出现的环境背景及自己尝试过哪些方法

尝试了搜索答案,基本都是两个模型多对多的示例,没有这种稍微复杂的问题,想了一会儿也是越想越蒙,可能需要看下不同的建议。

相关代码

你期待的结果是什么?实际看到的错误信息又是什么?

期待有个思路或者指点。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

懵少女 2022-09-14 23:19:08

一个app,会有多个tag
一个tag,可能属于多个app
一个user,会有多个tag
一个tag,可能被多个user拥有

典型的多对多关系,app和tag多对多,user和tag多对多
app和user没有直接联系,不具备业务含义,所以不用想的太复杂

三张实体表
app、tag、user

两张关联关系表
app_tag_rel,字段id(当前表的逻辑主键)、app_id(app表的主键)、tag_id(tag表的主键)
tag_user_rel,字段id(当前表的逻辑主键)、tag_id(tag表的主键)、user_id(user表的主键)

不知在何时 2022-09-14 23:19:08

两个模型多对多的示例 就是你问的问题,不过我搜了下他们都是在数据实体bean这一层面说这个问题,与你所求不符.
这个 可以以appid和userid作为联合主键,查询tag
也就是主要有 appid, userid,tag 这三个字段的表

小情绪 2022-09-14 23:19:08

如果相同或不同的app下的tag是不同的,那么可以不考虑app和user之间的关系,tag存appId,user和tag是多对多关系,所以建一个中间表USER_REL_TAG(userId, tagId)保存user和tag的关联关系

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文