`

权限管理的数据库的设计

    博客分类:
  • SQL
阅读更多

use [master]
go

-- 检查数据库 [RBAC]是否存在,如果存在则删除(只测试用,不然会丢数据.)
-- Search from the sysdatabase to see that if the [RBAC] database exist.
-- If exists then drop it else create it.

if exists(select * from sysdatabases where name = 'RBAC')
   drop database [RBAC]
go

-- 创建数据库 [RBAC]
-- Create the database named by '[RBAC]'.
create database [RBAC]
go

-- 使用数据库 [RBAC]
-- Use the database of '[RBAC]'.
use [RBAC]
go

-- 创建 "用户" 数据表 [RBAC_User]
-- Create the datatable named by '[RBAC_User]' to save users.
create table [RBAC_User]
(
 --
用户编号
 [User_ID] int primary key not null,
 --
用户名称
 [User_Name] varchar(20) not null,
 --
用户密码
 [User_PassWord] varchar(20) not null,
 --
用户状态
 [User_Lock] bit not null
)
go

-- 添加测试数据
-- Add data for test
insert into [RBAC_User] values(1,'FightingYang','PassWord',0);
go
insert into [RBAC_User] values(2,'Supper3000','Teacher',0);
go
insert into [RBAC_User] values(3,'JianzhongLi','Teacher',1);
go

select * from [RBAC_User]
go


--
创建 "" 数据表 [RBAC_Group]
-- Create the datatable named by '[RBAC_Group]' to save groups.
create table [RBAC_Group]
(
 --
组编号
 [Group_ID] int primary key not null,
 --
组名称
 [Group_Name] varchar(20) not null
)
go

-- 添加测试数据
-- Add data for test
insert into [RBAC_Group] values(1,'
编程爱好者');
go
insert into [RBAC_Group] values(2,'MSDN
老师');
go

select * from [RBAC_Group]
go

  

-- 创建 "角色" 数据表 [RBAC_Role]
-- Create the datatable named by '[RBAC_Role]' to save roles.
create table [RBAC_Role]
(
 --
角色编号
 [Role_ID] int primary key not null,
 --
角色名称
 [Role_Name] varchar(20) not null
)
go

-- 添加测试数据
-- Add data for test
insert into [RBAC_Role] values(1,'admin');
go
insert into [RBAC_Role] values(2,'user');
go

select * from [RBAC_Role]
go

 

-- 创建 "资源" 数据表 [RBAC_Resource]
-- Create the datatable named by '[RBAC_Resource]' to save Resources.
create table [RBAC_Resource]
(
 --
资源编号
 [Resource_ID] int primary key not null,
 --
资源名称
 [Resource_Name] varchar(20) not null
)
go

-- 添加测试数据
-- Add data for test
insert into [RBAC_Resource] values(1,'
音频');
go
insert into [RBAC_Resource] values(2,'
视频');
go

select * from [RBAC_Resource]
go

 

-- 创建 "操作" 数据表 [RBAC_Operate]
-- Create the datatable named by '[RBAC_Operate]' to save Operates.
create table [RBAC_Operate]
(
 --
操作编号
 [Operate_ID] int primary key not null,
 --
操作名称
 [Operate_Name] varchar(10) not null
)
go

-- 添加测试数据
-- Add data for test
insert into [RBAC_Operate] values(1,'
添加');
go
insert into [RBAC_Operate] values(2,'
读取');
go
insert into [RBAC_Operate] values(3,'
编写');
go
insert into [RBAC_Operate] values(4,'
删除');
go

select * from [RBAC_Operate]
go

 

-- 创建 "权限" 数据表 [RBAC_Privilege]
-- Create the datatable named by [RBAC_Privilege] to save privileges.
create table [RBAC_Privilege]
(
 --
权限编号
 [Privilege_ID] int primary key not null,
 --
资源编号
 [Resource_ID] int foreign key references [RBAC_Resource]([Resource_ID]) not null,
 --
操作编号
 [Operate_ID] int foreign key references [RBAC_Operate]([Operate_ID]) not null
)
go

-- 添加测试数据
-- Add data for test

-- 第一条权限是对"音频""添加"权限
insert into [RBAC_Privilege] values(1,1,1);
go
--
第二条权限是对"音频""读取"权限
insert into [RBAC_Privilege] values(2,1,2);
go
--
第三条权限是对"音频""编写"权限
insert into [RBAC_Privilege] values(3,1,3);
go
--
第四条权限是对"音频""删除"权限
insert into [RBAC_Privilege] values(4,1,4);
go
--
第五条权限是对"视频""读取"权限
insert into [RBAC_Privilege] values(5,2,1);
go
--
第六条权限是对"视频""读取"权限
insert into [RBAC_Privilege] values(6,2,2);
go
--
第七条权限是对"视频""编写"权限
insert into [RBAC_Privilege] values(7,2,3);
go
--
第八条权限是对"视频""删除"权限
insert into [RBAC_Privilege] values(8,2,4);
go

select * from [RBAC_Operate]
go

 

-- 创建 "授权" 数据表 [RBAC_Impower]
-- Create the datatable named by [RBAC_Impower] to save Impower.
create table [RBAC_Impower]
(
 --
授权编号
 [Impower_ID] int primary key not null,
 --
角色编号
 [Role_ID] int foreign key references [RBAC_Role]([Role_ID]) not null,
 --
权限编号
 [Privilege_ID] int foreign key references [RBAC_Privilege]([Privilege_ID]) not null
)
go

-- 添加测试数据
-- Add data for test

-- 第一条授权内容"admin"具有'"音频""添加"权限'
insert into [RBAC_Impower] values(1,1);
go
--
第二条授权内容"admin"具有'"音频""读取"权限'
insert into [RBAC_Impower] values(2,2);
go
--
第三条授权内容"admin"具有'"音频""编写"权限'
insert into [RBAC_Impower] values(3,3);
go
--
第四条授权内容"admin"具有'"音频""删除"权限'
insert into [RBAC_Impower] values(4,4);
go
--
第五条授权内容"admin"具有'"视频""添加"权限'
insert into [RBAC_Impower] values(5,5);
go
--
第六条授权内容"admin"具有'"视频""读取"权限'
insert into [RBAC_Impower] values(6,6);
go
--
第七条授权内容"admin"具有'"视频""编写"权限'
insert into [RBAC_Impower] values(7,7);
go
--
第八条授权内容"admin"具有'"视频""删除"权限'
insert into [RBAC_Impower] values(8,8);
go
--
第九条授权内容"user"具有'"音频""读取"权限'
insert into [RBAC_Impower] values(9,2);
go
--
第十条授权内容"user"具有'"视频""读取"权限'
insert into [RBAC_Impower] values(10,5);
go

select * from [RBAC_Impower]
go

 

-- 添加测试数据
-- Add data for test

-- 组所具备的角色的数据第一条的内容是"MSDN老师"具有"admin"的角色
insert into [RBAC_GroupRole] values(1,2,1);
go
--
组所具备的角色的数据第二条的内容是"编程爱好者"具有"user"的角色
insert into [RBAC_GroupRole] values(2,1,2);
go

select * from [RBAC_GroupRole]
go

-- 创建 "用户组" 数据表 [RBAC_UserGroupRole]
-- Create the datatable named by '[RBAC_UserGroupRole]' to save userGroupRoles.
create table [RBAC_UserGroupRole]
(
 --
用户组编号
 [UserGroup_ID] int primary key not null,
 --
用户编号
 [User_ID] int foreign key references [RBAC_User]([User_ID]) not null,
 --
组编号
 [Group_ID] int foreign key references [RBAC_Group]([Group_ID]) not null,
 --
角色编号
 [Role_ID] int foreign key references [RBAC_Role]([Role_ID]) not null
)
go

-- 添加测试数据
-- Add data for test

-- 第一条用户组数据是"FightingYang"属于"编程爱好者",在组中的角色是"admin"
insert into [RBAC_UserGroup] values(1,1,1,1);
go
--
第二条用户组数据是"Supper3000"属于"MSDN老师",在组中的角色是"admin"
insert into [RBAC_UserGroup] values(2,2,2,1);
go
--
第三条用户组数据是"JianzhongLi"属于"MSDN老师",在组中的角色是"user"
insert into [RBAC_UserGroup] values(3,3,2,2);
go

select * from [RBAC_UserGroupRole]
go

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    权限管理 数据库设计

    权限管理的数据库设计,分了很多权限,适合于多数数据库权限的管理

    系统权限管理最新数据库设计建模

    最新版系统权限管理,数据库设计建模文件;此模式基本符合大众对系统权限管理的需求。

    基于RBAC权限管理数据库表设计

    下面我们将深入探讨基于RBAC的权限管理数据库表的设计。 1. **角色(Role)**: 在RBAC模型中,角色是一组预定义的权限集合。例如,一个"管理员"角色可能拥有所有数据的读写权限,而"普通用户"角色可能只有读取权限...

    java权限管理系统数据库设计.pdf

    Java 权限管理系统数据库设计 Java 权限管理系统数据库设计是指在 Java 平台下设计和实现的权限管理系统的数据库结构和设计思路。本文档将详细介绍权限管理系统数据库的设计,包括数据库表的设计、字段的设计、权限...

    权限管理及数据库设计

    在IT行业中,权限管理和数据库设计是构建安全、高效软件系统的核心组成部分。权限管理涉及到用户角色、操作权限、访问控制等方面,而数据库设计则关乎数据的存储、查询效率以及系统的扩展性。下面将深入探讨这两个...

    数据库权限管理设计图

    数据库设计权限管理图 数据库设计权限管理图 数据库设计权限管理图 数据库设计权限管理图 数据库设计权限管理图 数据库设计权限管理图 数据库设计权限管理图

    比较通用的权限数据库设计

    权限数据库设计是业务系统中非常重要的一部分,它可以实现用户权限管理,控制用户对系统中不同功能的访问权限。本文将详细介绍如何设计一个通用的权限数据库,满足大部分 B/S 系统中对用户功能权限控制的需求。 ...

    工资管理系统数据库设计报告(数据库课程设计).doc

    这些操作使得系统能够处理复杂的查询,执行权限管理和数据备份,确保系统的安全性和可用性。 7. 运行和维护: 最后,报告讨论了系统的日常操作,如简单的员工信息查询、复杂的薪资计算查询,以及用户管理与权限...

    多种权限表的设计(数据库设计)

    【多种权限表的设计(数据库设计)】 在设计一个通用权限管理系统时,首要目的是为了提高效率,避免在每个独立的应用系统中重复进行权限设计。本文档详细介绍了权限管理系统的设计,包括总体设计、接口设计(此处...

    学生宿舍管理系统数据库设计案例

    学生宿舍管理系统数据库设计案例是一个全面展示数据库设计流程的实例,涵盖了从需求分析到逻辑设计等多个关键步骤。在设计这样的系统时,首要目的是提高学生宿舍管理的效率和准确性,确保信息的及时更新和有效利用。...

    教务管理系统 数据库设计

    ### 教务管理系统数据库设计详解 #### 一、引言 随着信息技术的发展,教育领域的信息化建设也变得日益重要。教务管理系统作为学校信息化建设的重要组成部分,对于提高学校的管理水平和服务质量具有重要意义。本篇...

    权限管理系统数据库设计

    本文将深入探讨使用SQL Server 2005进行权限管理系统数据库设计的相关知识点。 首先,权限管理系统的核心目标是实现角色、用户和资源之间的安全控制。在SQL Server 2005中,这可以通过创建用户、角色、权限和对象...

    简单的权限控制数据库设计

    一个简单的权限控制数据库设计,权限表(Power)、权限组(PowerGroup)、角色表(Role)、权限角色关联关系表(PowerRole)、用户表(User)、模块表(Model)、动作表(Action)、授权表(Impower)

    资产管理数据库设计

    ### 资产管理数据库设计:武汉理工课程设计解析 #### 设计背景与目标 武汉理工大学计算机学院的《资产管理数据库设计》课程设计项目,旨在通过实际操作,使学生掌握数据库设计的基本理论与方法,理解资产管理在...

    某学校教学管理数据库设计

    学校教学管理数据库设计还可能涉及权限管理,确保不同角色(如教师、学生、管理员)只能访问和操作他们权限范围内的信息。此外,考虑到数据的安全性和隐私保护,还需要设置合理的备份策略和安全措施,如加密存储、...

    仓库管理系统数据库设计.rar

    《仓库管理系统数据库设计》 仓库管理系统是企业运营中不可或缺的一部分,它涉及到商品的入库、出库、库存管理等核心业务流程。数据库设计是系统开发的关键环节,为整个系统的高效运行提供数据存储和处理的基础。本...

    权限管理模块源码 及数据库设计

    本文将深入探讨一个权限管理模块的源码及其数据库设计,非常适合初学者学习和理解。 首先,权限管理的核心目标是实现用户、角色和资源之间的关系管理。在系统中,用户通过扮演不同的角色来获取对特定资源(如文件、...

    权限管理设计方案(详细设计)

    权限管理设计方案是为了设计一套具有较强可扩展性的用户认证管理系统,需要建立用户、角色和权限等数据库表,并且建立之间的关系。本设计方案的主要内容包括用户认证管理设计、角色设计、权限设计、用户与角色的关系...

    通用权限系统数据库

    这种系统的核心目标是确保只有经过授权的用户能够访问特定的资源,同时提供灵活的角色分配和权限管理机制。 数据库设计是系统构建的关键环节,它涉及到数据的组织、存储和检索方式。在“通用权限系统”中,数据库...

Global site tag (gtag.js) - Google Analytics