通用权限管理设计篇(二)——数据库设计
让我们接着来进行数据库的设计。在数据库建模时,对于N对N的关系,一般需要加入一个关联表来表示关联的两者的关系。初步估计一下,本系统至少需要十张表,分别为:权限表、用户表、角色表、组表、用户权限关联表、用户角色关联表、角色权限关联表、组权限关联表、组角色关联表、用户属组关联表。当然还可能引出一些相关的表。下面让我们在PowerDesigner中画出各表吧。
各表及其关系如下:
1. 用户表
用户表(TUser) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tu_id |
bigint |
pk, not null |
所属组织 |
to_id |
bigint |
fk, not null |
登录帐号 |
login_name |
varchar(64) |
not null |
用户密码 |
password |
varchar(64) |
not null |
用户姓名 |
vsername |
varchar(64) |
not null |
手机号 |
mobile |
varchar(20) |
|
电子邮箱 |
|
varchar(64) |
|
创建时间 |
gen_time |
datetime |
not null |
登录时间 |
login_time |
datetime |
|
上次登录时间 |
last_login_time |
datetime |
|
登录次数 |
count |
bigint |
not null |
2. 角色表
角色表(TRole) |
|||
字段名称 |
字段 |
类型 |
备注 |
角色ID |
tr_id |
bigint |
pk, not null |
父级角色ID |
parent_tr_id |
bigint |
not null |
角色名称 |
role_name |
varchar(64) |
not null |
创建时间 |
gen_time |
datetime |
not null |
角色描述 |
description |
varchar(200) |
3. 权限表
权限表(TRight) |
|||
字段名称 |
字段 |
类型 |
备注 |
权限ID |
tr_id |
bigint |
pk, not null |
父权限 |
parent_tr_id |
bigint |
not null |
权限名称 |
right_name |
varchar(64) |
not null |
权限描述 |
description |
varchar(200) |
4. 组表
组表(TGroup) |
|||
字段名称 |
字段 |
类型 |
备注 |
组ID |
tg_id |
bigint |
pk, not null |
组名称 |
group_name |
varchar(64) |
not null |
父组 |
parent_tg_id |
bigint |
not null |
创建时间 |
gen_time |
datetime |
not null |
组描述 |
description |
varchar(200) |
5. 角色权限表
角色权限表(TRoleRightRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
trr_id |
bigint |
pk, not null |
角色 |
Role_id |
bigint |
fk, not null |
权限 |
right_id |
bigint |
fk, not null |
权限类型 |
right_type |
int |
not null(0:可访问,1:可授权) |
6. 组权限表
组权限表(TGroupRightRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tgr_id |
bigint |
pk, not null |
组 |
tg_id |
bigint |
fk, not null |
权限 |
tr_id |
bigint |
fk, not null |
权限类型 |
right_type |
int |
not null(0:可访问,1:可授权) |
7. 组角色表
组角色表(TGroupRoleRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tgr_id |
bigint |
pk, not null |
组 |
tg_id |
bigint |
fk, not null |
角色 |
tr_id |
bigint |
pk, not null |
8. 用户权限表
用户权限表(TUserRightRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tur_id |
bigint |
pk, not null |
用户 |
tu_id |
bigint |
fk, not null |
权限 |
tr_id |
bigint |
fk, not null |
权限类型 |
right_type |
int |
not null(0:可访问,1:可授权) |
9. 用户角色表
用户角色表(TUserRoleRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tur_id |
bigint |
pk, not null |
用户 |
tu_id |
bigint |
fk, not null |
角色 |
tr_id |
bigint |
fk, not null |
10. 用户组表
用户组表(TUserGroupRelation) |
|||
字段名称 |
字段 |
类型 |
备注 |
记录标识 |
tug_id |
bigint |
pk, not null |
用户 |
tu_id |
bigint |
fk, not null |
组 |
tg_id |
bigint |
fk, not null |
11. 组织表
组织表(TOrganization) |
|||
字段名称 |
字段 |
类型 |
备注 |
组织id |
to_id |
bigint |
pk, not null |
父组 |
parent_to_id |
bigint |
not null |
组织名称 |
org_name |
varchar(64) |
not null |
创建时间 |
gen_time |
datetime |
not null |
组织描述 |
description |
varchar(200) |
12. 操作日志表
操作日志表(TLog) |
|||
字段名称 |
字段 |
类型 |
备注 |
日志ID |
log_id |
bigint |
pk, not null |
操作类型 |
op_type |
int |
not null |
操作内容 |
content |
varchar(200) |
not null |
操作人 |
tu_id |
bigint |
fk, not null |
操作时间 |
gen_time |
datetime |
not null |
通用权限管理设计篇(二)——数据库设计相关推荐
- python通用权限管理框架图_通用权限管理设计篇_设计模式
摘要: 本文讲的是通用权限管理设计篇_设计模式, 博客地址:http://www.blogjava.net/amigoxie/ 一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完 ...
- 通用权限管理设计篇_设计模式
摘要: 本文讲的是通用权限管理设计篇_设计模式, 博客地址:http://www.blogjava.net/amigoxie/ 一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完 ...
- (转)通用权限管理设计 之 数据库结构设计
转自:leo's Space http://www.cnblogs.com/leoxie2011/archive/2011/05/19/2050626.html 通用权限管理设计 之 数据库结构设计 ...
- 通用权限管理设计 之 数据权限
阅读目录 前言 初步分析 通用查询机制 数据权限规则 实际应用 结语 前言 前一篇文章<通用权限管理设计 之 数据库设计方案>介绍了[主体]- [领域] - [权限]( who.what. ...
- (转)通用权限管理设计 之 数据权限
转自:leo's Space http://www.cnblogs.com/leoxie2011/archive/2012/03/20/2408542.html 阅读目录 前言 初步分析 通用查询机制 ...
- 前后端分离微服务管理系统项目实战SaaS-HRM项目(二)——数据库设计与前端框架
文章目录 二.数据库设计与前端框架 1.多租户SaaS平台的数据库方案 <1>.多租户概述 <2>.需求分析 <3>.多租户的数据库方案分析 (1).独立数据库 ( ...
- C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 序列创建脚本参考
C#.NET通用权限管理DB2数据库上运行时,需要创建一些序列,脚本如下: 若您用到了DB2数据库直接运行这个脚本就可以了,不用每个都自己创建了. create sequence SEQ_BASE_T ...
- Java数据库篇7——数据库设计
Java数据库篇7--数据库设计 1.第一范式 列不可再分 每一列属性都是不可再分的属性值,确保每一列的原子性 两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据 2.第二范式 属性 ...
- C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 建表脚本参考
为什么80%的码农都做不了架构师?>>> C#.NET通用权限管理在DB2数据库上运行,表脚本参考如下: CREATE TABLE "ITEMS_YESNO" ...
- 通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)...
有时候,真想做个像样的东西出来,但是往往各方面的能力都不够,这么多人,Helper(767870484)仔细认真的阅读了这个帮助手册.并给给于了指正,在这里非常感谢,你的劳动成果已经被通用权限管理积累 ...
最新文章
- boost::range::istream_range相关的测试程序
- jupyter notebook的链接密码 token查询 以及 pycharm 如何使用 jupyter notebook
- 在11g中alter system set recyclebin = off 报错 recyclebin 参数在11g和10g中的区别
- 普通人学python有意义吗_学python难吗
- 动态规划 NOIP经典问题 开心的金明(洛谷P1060题题解,Java语言描述)
- bzoj 5302: [Haoi2018]奇怪的背包
- WINDOWSXP全面优化下
- 异常之【You have an error in your SQL syntax】
- HTML表格设计用到哪些标签,网页设计:HTML表格标签
- 优化理论14----二分法、二分法与黄金分割法比较、python实现
- iOS不再美好 安卓收入逼近千万
- 【GlobalMapper精品教程】007:如何加载谷歌卫星影像?
- 从零学iFIX视频教程 2.01版 完整目录 (总共220节视频)
- 02 文本检测(一)-CTPN
- Rem布局案例讲解。
- 使用Feign调用服务接口
- win7没有权限使用计算机的,Win7提示你可能没有权限使用网络资源|未授予用户在此计算机解决方法...
- Aerial Cactus Identification(空中仙人掌鉴定)
- 2017中国云计算技术大会将于5月18-19日在京召开
- Spring Boot入门(24):Spring Boot事务 | 超级详细,建议收藏
热门文章
- 大话西游显示无法连接服务器,大话西游手游服务器连接失败进不去解决办法
- css设置不显示超出内容_显示...,css设置内容超出后显示省略号
- rust卡领地柜权限_腐蚀rust污水处理厂(rust污水处理厂)
- 每日一题Python.1
- ftrl 流式更新 java_深入理解FTRL
- Orleans 2.0 官方文档 ——Grains定时器和提醒器(Reminder)
- SQL批量删除数据操作
- SpringBoot集成XxlJob分布式任务调度中心(超详细之手把手教学)
- Nodejs学习网址
- Java 1 — 4章总结