理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于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)
|
|
电子邮箱
|
email
|
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
|
分享到:
相关推荐
《通用权限管理系统——深入解析与实现》 在信息化社会中,权限管理是系统设计的关键环节,它涉及到用户访问控制、数据安全以及系统功能的合理分配。本资源包含了一个全面的通用权限管理系统,提供了Web和WPF两种...
工资管理系统数据库设计报告是信息技术学院信息管理与信息系统专业的一份课程设计报告,旨在通过实际操作来学习和理解数据库系统的设计与实现。这份报告涵盖了多个关键阶段,包括需求分析、概念设计、逻辑设计以及...
### 通用权限数据库设计 #### 一、设计背景与需求 在现代企业级应用系统中,尤其是基于浏览器/服务器(B/S)架构的系统,权限管理成为保障信息安全、规范操作流程的关键环节。与传统的客户端/服务器(C/S)架构...
### 通用权限管理系统文档资料——设计扩展RBAC用户角色 #### RBAC模型概述 RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛应用于软件系统中的权限管理方法。在这一模型中,用户不再直接与权限...
【通用权限管理设计文档】是针对软件开发中的一个重要领域——权限管理系统进行详细设计的文档,主要目的是为初级程序员提供清晰的指导,帮助他们理解和构建安全、灵活的权限管理体系。权限管理是确保软件系统中不同...
《图书馆管理系统数据库课程设计详解》 图书馆管理系统是一个典型的数据库应用案例,它涵盖了信息管理的各个方面,旨在提升图书馆的运营效率和服务质量。在这个课程设计中,我们将深入探讨如何构建这样一个系统,...
本篇文档将详细介绍一个针对库存管理的系统设计实验,旨在为货物运输公司提供一套定制化的解决方案。 该库存管理系统的目标是实现库存的信息化、自动化管理,以适应现代商业环境的需求。系统不仅需要管理库存的基本...
这个压缩包"ASP网站实例开发源码——Asoft通用管理系统(源码+数据库).zip"显然包含了使用ASP语言编写的通用管理系统的完整源代码以及配套的数据库文件,这为学习和理解ASP开发提供了宝贵的资源。 首先,我们要...
这个"ASP.NET源码——ASP.NET通用权限管理系统(FrameWork)"的压缩包提供了一个具体的实例,展示了如何在ASP.NET平台上实现一个通用的权限管理解决方案。 在ASP.NET中,权限管理是通过角色(Role)和用户(User)的...
【数据库——家庭理财系统】是一个专门针对家庭财务管理的软件,旨在满足现代家庭对理财的日益增长的需求。系统设计包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据实施和维护,以及心得体会。 一、...
为了更好地理解数据库设计的关键环节之一——元数据设计,本文将详细介绍数据库设计的基本概念、流程以及元数据设计的重要性和方法。 #### 二、数据库设计的基础知识 ##### 2.1 数据模型发展历程 - **网状与层次...
本文详细介绍了如何设计一个适用于B/S架构的权限管理系统,重点讨论了数据库设计的重要性以及如何通过合理的表结构设计来满足权限管理的需求。通过这种方式设计的权限管理系统不仅能够有效控制用户的访问权限,还...
这个压缩包"ASP.NET源码——ASP.NET通用权限管理系统(FrameWork) Release 源码版.zip"提供了一个完整的源码版本,允许开发者深入理解权限管理系统的实现细节,并可能作为学习或开发类似系统的基础。 首先,我们要...
《VB高校通用排课管理系统设计》是一份基于Visual Basic(VB)的毕业设计项目,它旨在为高等教育机构提供一个高效、便捷的课程安排平台。在VB环境下开发这样的系统,不仅展示了编程技能,还体现了对教育管理流程的...
核心的数据库设计包括四个主要表格:权限表(action)、管理组表(groupmanager)、人员表(master)以及两张映射表——权限映射表(actiongroup)和人员映射表(mastergroup)。这四张表共同构成了权限管理的骨架。...
- **网状模型**:1964年,美国通用电气公司推出了第一个DBMS——IDS。 - **层次模型**:1969年,IBM发布了第一个商用DBMS,采用层次模型。 - **关系模型**:1970年,IBM的研究员E.F. Codd提出了关系模型,这一...
《通用后台权限管理系统——C#与SQL Server 2005的高效整合》 在IT行业中,权限管理系统是企业信息化建设的重要组成部分,它确保了数据安全性和操作合规性。本系统,即“通用后台权限管理系统”,是基于C#编程语言...
例如,系统设定只有管理员有权编辑题目,而各科目教师仅能出本科目的试题,这种权限分配既保证了题库的专业性,又降低了安全风险。 自动出卷系统通过智能化试卷生成向导,简化了用户操作,用户可以分步设置参数,...