关系型数据库[如Mysql],一对多关系数据表如何设计更好

发布于 2022-08-30 16:29:38 字数 319 浏览 14 评论 0

关系型数据库[如Mysql],一对多关系,如用户id=1,该用户可以同时属于不同的分组[group_id=1,group_id=2],这时的数据库表该如何设计合理呢,我目前是这样的,user关系表,每一个分组占用一条数据
图片描述

这样的设计在新建一个分组的时候插入新的对应关系行,如果取消一个分组则要删除相应的一行数据,感觉这种方式很不好。想改进但脑袋又是空白的,想请教下大家对这类问题的设计思路是怎样的。

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

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

发布评论

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

评论(3

能怎样 2022-09-06 16:29:38

没有看懂你这张表,你的分组中只能有一个user么?如果是这样的话,可以建立两张表:user和group表,group表含有外键user_id;

但是我感觉group中应该不可能只有一个user吧?如果含有多个user,就是一个多对多关系,可以建立三张表:user,group表分别记录两个对象对应的属性,而第三张表记录两者的关系,一般是含有属性(id, user_id, group_id).

驱逐舰岛风号 2022-09-06 16:29:38

如果分组不多,可以采用位运算,类似于linux的权限系统
详细见
利用mysql位运算实现一对多数据关系

孤云独去闲 2022-09-06 16:29:38

mysql位运算

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