是这样:
类似平台,有多个子项目,有些互不相干,但是用户这一块都是一样的,所以就把用户管理独立出来,所有子项目使用这个用户数据库。
包括用户资料管理,权限管理,角色管理,功能管理。各个表用一个项目ID来区分是属于哪个项目的。问题:
1.这样设计合理不?
2.用户名要不要做唯一约束?(用户名用来登陆)
3.用户名如果做唯一约束,那么删除用户(应该是冻结)后,其他用户想用这个用户名该怎么办,怎么实现?
4.能不能实现每个项目拥有用户的用户名是唯一的,而整体不同项目的用户名可以出现重复?各位,大家经验足,如果还能提供更合理的设计那就好了(平台的用户管理),谢谢:)
类似平台,有多个子项目,有些互不相干,但是用户这一块都是一样的,所以就把用户管理独立出来,所有子项目使用这个用户数据库。
包括用户资料管理,权限管理,角色管理,功能管理。各个表用一个项目ID来区分是属于哪个项目的。问题:
1.这样设计合理不?
2.用户名要不要做唯一约束?(用户名用来登陆)
3.用户名如果做唯一约束,那么删除用户(应该是冻结)后,其他用户想用这个用户名该怎么办,怎么实现?
4.能不能实现每个项目拥有用户的用户名是唯一的,而整体不同项目的用户名可以出现重复?各位,大家经验足,如果还能提供更合理的设计那就好了(平台的用户管理),谢谢:)
角色;用户;功能;项目;角色用户;角色项目;角色功能;
辅助:
登录记录表参考!
2.尽量不用 否则后期涉及到迁移等方面不方便
3....
4.当然可以 如果是一对多查询就可以了
但每个项目都建各自的用户,如果是一个操作人员同时要用多个项目,就要每个项目建一用户,不是很合理.
可改变一下
用户表分主表与子表,主表记录用户公用信息
子表记录用户属于那个项目.可也加角色表更好
用户是对应具体的操作人员,角色权限设置好后,只要指定用户所属角色即可.