关系型数据库[如Mysql],一对多关系数据表如何设计更好
关系型数据库[如Mysql],一对多关系,如用户id=1,该用户可以同时属于不同的分组[group_id=1,group_id=2],这时的数据库表该如何设计合理呢,我目前是这样的,user关系表,每一个分组占用一条数据
这样的设计在新建一个分组的时候插入新的对应关系行,如果取消一个分组则要删除相应的一行数据,感觉这种方式很不好。想改进但脑袋又是空白的,想请教下大家对这类问题的设计思路是怎样的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
没有看懂你这张表,你的分组中只能有一个user么?如果是这样的话,可以建立两张表:user和group表,group表含有外键user_id;
但是我感觉group中应该不可能只有一个user吧?如果含有多个user,就是一个多对多关系,可以建立三张表:user,group表分别记录两个对象对应的属性,而第三张表记录两者的关系,一般是含有属性(id, user_id, group_id).
如果分组不多,可以采用位运算,类似于linux的权限系统
详细见
利用mysql位运算实现一对多数据关系
mysql位运算