- 首先:根据需求可以抽离出三项对象关系:
- 三张飙之间的关系是多对多的,一个权限可能同时属于多个管理组,一个管理组也可能包含多个权限。同样的道理,一个人员可能同时属于多个管理组,而一个管理组也可能同时包含多个人员:
- 由于这三张表之间存在着多对多的关系,那么他们之间的交互,最好使用另外两张表来完成。而这两张表起着映射的作用,前者映射了权限表与管理组表之间的交互。后者映射了人员表与管理组表之间的交互。
- 另外,还需要一章表来控制系统运行是左侧菜单中的权限分栏,也就是"权限分栏表"
- 另外,人员表中抽离出两张外键表,分别记录 部门 , 职位信息
- 根据上面的分析,我们进行数据库结构设计如下:
最终数据库字段设计
- 人员表
- 部门表
- 职位表
- 权限分栏表
- 权限表
- 组别表
- 组别人员关联表
- 权限组别关联表