想写个通用的管理后台,权限这一块,用户对角色有必要写多对多?写多对多通用性会大点,平时中间表如果只存一个,能当一对多用?想知道有这个必要?如果写一对多后期碰到需要改多对多的时候会不会更麻烦?
想写个通用的管理后台,权限这一块,用户对角色有必要写多对多?写多对多通用性会大点,平时中间表如果只存一个,能当一对多用?想知道有这个必要?如果写一对多后期碰到需要改多对多的时候会不会更麻烦?
一个中间表不就可以做到多对多了吗?
这个中间表(ID,用户,角色)映射着用户和角色的关系
想获取用户的角色:select 角色 from 中间表 where 用户 = xxx
想要获取角色拥有的用户:select 用户 from 中间表 where 角色 = xxx
想要确定用户是否拥有某些角色:select 1 from 中间表 where 用户 = xxx and 角色 in (xx,xx,xx...)
是我哪里理解不对?
4 回答1.5k 阅读✓ 已解决
8 回答1.3k 阅读
3 回答1.1k 阅读✓ 已解决
3 回答902 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.6k 阅读
1 回答890 阅读✓ 已解决
建议根据具体场景来进行设计,如果真的想很通用的话还是多对多吧,这样任何情况都可以很好的支持,只不过开发繁琐了些