mysql中角色权限表的设计_用户、角色、权限数据库设计
转自:https://link.jianshu.com/?t=http://blog.itpub.net/16436858/viewspace-627049
原创 Linux操作系统 iSQlServer 2010-02-08 15:20:32
权限管理
权限管理,主要是人员和权限之间的关系,但是如果让人员直接和权限打交道,那么权限的赋值、权限的撤销以及权限的变动会非常的麻烦,这样引入了,角色,给角色赋权限,然后给用户分配角色。
这个设计主要涉及6张表,
用户表,(用于存储用户的所有信息)
权限表,(用于存储所有的权限)
角色表,(用于存储所有的角色)
用户和角色的关联表,(用户和角色的关联)
角色和权限的关联表,(角色和权限的关联)
菜单表,(里面关联了权限,主要是现实用的)
用户表
代码
CREATE TABLE [dbo].[Users](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](50) primary key,--帐号
[Password] [nvarchar](50) ,
[UserDspName] [nvarchar](50) ,
[Sex] [char](1),
[Birthday] [datetime],
[Phone] [nvarchar](20) ,
[Email] [nvarchar](100),
[EmployeeID] [nvarchar](20) ,
[Activity] [bit],--是否可用
[UserType] [char](2) ,
[Style] [nvarchar](50)
)
权限表:
CREATE TABLE [dbo].[Permission](
[PermissionID] int identity,
[Description] [nvarchar](50) --权限名称
)
角色表:
CREATE TABLE [dbo].[Roles](
[RoleID] [int] IDENTITY,
[Description] [nvarchar](200)--角色名称
)
用户和角色的关联表:
代码
CREATE TABLE [dbo].[UserRoles](
[UserID] [int] NOT NULL,--用户ID
[RoleID] [int] not null ,--权限ID
CONSTRAINT [PK_UserRoles] PRIMARY KEY CLUSTERED
(
[UserID] ASC,
[RoleID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
角色和权限的关联表:
代码
CREATE TABLE [dbo].[RolePermissions](
[RoleID] int NOT NULL,--角色ID
[PermissionID]int NOT NULL,--权限ID
CONSTRAINT [PK_RolePermissions] PRIMARY KEY CLUSTERED
(
[RoleID] ASC,
[PermissionID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
菜单表:
代码
CREATE TABLE [dbo].[menu](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TextCH] [nvarchar](100) NULL,--菜单的中文显示
[TextEN] [nvarchar](200) NULL,--菜单的英文名称
[ParentID] [int] NULL,--父节点
[orderID] [int] NULL,--同一个父节点下面的排序
[Url] [nvarchar](200) ,--菜单对于的权限
[PermissionID] [int] NULL,--权限ID
[ImageUrl] [nvarchar](50) NULL--菜单图片链接
) ON [PRIMARY]
以上便是所有的数据库结构,代码正在实现中;
最后权限的最终呈现和表现是通过菜单来实现的,个人感觉粒度太大了(最小是页面),现在我想知道能否将权限加到某一个按钮上面,请大家指点
mysql中角色权限表的设计_用户、角色、权限数据库设计相关推荐
- 考试系统mysql数据库设计_在线考试系统数据库设计(表)
<在线考试系统数据库设计(表)>由会员分享,可在线阅读,更多相关<在线考试系统数据库设计(表)(7页珍藏版)>请在人人文库网上搜索. 1.在线考试系统数据库设计数据库名OnLi ...
- 服装系统mysql设计_服装销售系统数据库设计.ppt
* * * 数据库应用技术 山东外贸职业学院 服装销售系统数据库设计 项目描述 开发一套服装销售管理软件,对服装销售进行信息化管理. 包括:采购订货.退货.前台零售.批发业务.销售管理.会员管理.库存 ...
- mysql中实现分类统计查询的步骤_实验07:数据库的组合查询和统计查询
实验6:数据库的组合查询和统计查询实验 本实验需要 4 学时. 一.实验目的 使学生熟练掌握SQL Server 查询分析器的使用方法,加深对SQL 和Transact-SQL 语言的查询语句的理解. ...
- mysql binlog跟踪_在MySQL中使用init-connect与binlog来实现用户操作追踪记录
在MySQL中使用init-connect与binlog来实现用户操作追踪记录 分类: MySQL 前言: 测试环境莫名其妙有几条重要数据被删除了,由于在binlog里面只看到是公用账号删除的,无法查 ...
- MySql中把一个表的数据插入到另一个表中的实现代码--转
MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...
- MySQL中的多表连接
MySQL中的多表连接 当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询.根据不同表中的数据之间的关系查询相关联的数据. 一.语法结构 使用一个表在多个表中查询数据: Where子句中写连 ...
- mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)
本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...
- mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...
一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...
- MySQL学习笔记(六)-MySQL中库和表的管理
MySQL学习笔记(六)-MySQL中库和表的管理 作者:就叫易易好了 日期:2020/11/23 1 2 DDL即数据定义语言 创建:create 修改:alter 删除:drop 库和表的管理: ...
- 在MySQL中实现交叉表查询2(动态交叉表)
在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...
最新文章
- pthread_join
- 您的第一个简单的机器学习项目
- Gentoo Linux: /var/db/pkg 这个文件夹很重要![转]推荐阅读
- Jboss未授权访问部署木马 利用exp
- 【C语言】指针进阶实践(指针数组和创建单链表)
- SQLite剖析之事务处理技术
- python语言要多久_怎么自学python,大概要多久?
- Python【map、reduce、filter】内置函数使用说明(转载)
- QQ/Chrome浏览器一键去广告--去广告插件安装教程(广告终结者)
- 2021数学建模国赛b题思路总结
- 安装cygwin软件
- FastDFS是如何解决数据一致性问题的?
- Kesci--基于机器学习的故障检测系统
- CentOS 8安装源设置基础软件仓库时出错
- 2017-2018-2 《密码与安全新技术》第一周作业
- 微信小程序学习之JS模块化(总结)
- 一页纸项目管理,附图表模板,可免费领取 | 再大的项目,都能用1页纸讲明白
- 操作系统原理_田丽华(8)内存管理
- Linux 常见命令(free, top)
- ppt 3d小人系列
热门文章
- word另存为html行距,word文档如何设置行间距
- 常见泰勒展开公式及复杂泰勒展开求法
- 手把手教你微信公众号如何给指定用户发送消息提醒
- 一级计算机脚注怎么加,word怎么插入脚注 word添加脚注图文教程
- PyQt: 拖放事件(Drag Drop)
- ERP/WMS仓库管理系统库存商品成本计算
- SDK数据采集抓取精准主要
- Chrome 浏览器关闭了360主页防护后每次打开仍然是360导航问题排查与处理方法,不卸载360流氓软件解决chrome浏览器主页锁定问题
- 如何在Microsoft Word里面插入图片作为背景/封面?
- 直连路由的配置-思科模拟器练习(Cisco Packet Tracer)