关系型数据库[如Mysql],一对多关系数据表如何设计更好
阿神
阿神 2017-04-17 11:47:14
0
3
295

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

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

阿神
阿神

闭关修行中......

全部回覆(3)
左手右手慢动作

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

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

左手右手慢动作

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

巴扎黑

mysql位运算

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!