是这样:
类似平台,有多个子项目,有些互不相干,但是用户这一块都是一样的,所以就把用户管理独立出来,所有子项目使用这个用户数据库。
包括用户资料管理,权限管理,角色管理,功能管理。各个表用一个项目ID来区分是属于哪个项目的。问题:
1.这样设计合理不?
2.用户名要不要做唯一约束?(用户名用来登陆)
3.用户名如果做唯一约束,那么删除用户(应该是冻结)后,其他用户想用这个用户名该怎么办,怎么实现?
4.能不能实现每个项目拥有用户的用户名是唯一的,而整体不同项目的用户名可以出现重复?各位,大家经验足,如果还能提供更合理的设计那就好了(平台的用户管理),谢谢:)

解决方案 »

  1.   

    基于角色设计:
    角色;用户;功能;项目;角色用户;角色项目;角色功能;
     
    辅助:
    登录记录表参考!
      

  2.   

    1.你的设计可行 不过需要说的是表尽量精简 不要太多
    2.尽量不用 否则后期涉及到迁移等方面不方便
    3....
    4.当然可以 如果是一对多查询就可以了
      

  3.   

    表都用项目id区分,等于各项目互相独立,无问题
    但每个项目都建各自的用户,如果是一个操作人员同时要用多个项目,就要每个项目建一用户,不是很合理.
    可改变一下
    用户表分主表与子表,主表记录用户公用信息
    子表记录用户属于那个项目.可也加角色表更好
      

  4.   

    应角色与用户更合理.应区分角色是用于划分对各项目的操作权限.
    用户是对应具体的操作人员,角色权限设置好后,只要指定用户所属角色即可.
      

  5.   

    谢谢大家的建议,修改一下之后我准备这样做了