转自: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中角色权限表的设计_用户、角色、权限数据库设计相关推荐

  1. 考试系统mysql数据库设计_在线考试系统数据库设计(表)

    <在线考试系统数据库设计(表)>由会员分享,可在线阅读,更多相关<在线考试系统数据库设计(表)(7页珍藏版)>请在人人文库网上搜索. 1.在线考试系统数据库设计数据库名OnLi ...

  2. 服装系统mysql设计_服装销售系统数据库设计.ppt

    * * * 数据库应用技术 山东外贸职业学院 服装销售系统数据库设计 项目描述 开发一套服装销售管理软件,对服装销售进行信息化管理. 包括:采购订货.退货.前台零售.批发业务.销售管理.会员管理.库存 ...

  3. mysql中实现分类统计查询的步骤_实验07:数据库的组合查询和统计查询

    实验6:数据库的组合查询和统计查询实验 本实验需要 4 学时. 一.实验目的 使学生熟练掌握SQL Server 查询分析器的使用方法,加深对SQL 和Transact-SQL 语言的查询语句的理解. ...

  4. mysql binlog跟踪_在MySQL中使用init-connect与binlog来实现用户操作追踪记录

    在MySQL中使用init-connect与binlog来实现用户操作追踪记录 分类: MySQL 前言: 测试环境莫名其妙有几条重要数据被删除了,由于在binlog里面只看到是公用账号删除的,无法查 ...

  5. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  6. MySQL中的多表连接

    MySQL中的多表连接 当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询.根据不同表中的数据之间的关系查询相关联的数据. 一.语法结构 使用一个表在多个表中查询数据: Where子句中写连 ...

  7. mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)

    本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...

  8. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...

  9. MySQL学习笔记(六)-MySQL中库和表的管理

    MySQL学习笔记(六)-MySQL中库和表的管理 作者:就叫易易好了 日期:2020/11/23 1 2 DDL即数据定义语言 创建:create 修改:alter 删除:drop 库和表的管理: ...

  10. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

最新文章

  1. pthread_join
  2. 您的第一个简单的机器学习项目
  3. Gentoo Linux: /var/db/pkg 这个文件夹很重要![转]推荐阅读
  4. Jboss未授权访问部署木马 利用exp
  5. 【C语言】指针进阶实践(指针数组和创建单链表)
  6. SQLite剖析之事务处理技术
  7. python语言要多久_怎么自学python,大概要多久?
  8. Python【map、reduce、filter】内置函数使用说明(转载)
  9. QQ/Chrome浏览器一键去广告--去广告插件安装教程(广告终结者)
  10. 2021数学建模国赛b题思路总结
  11. 安装cygwin软件
  12. FastDFS是如何解决数据一致性问题的?
  13. Kesci--基于机器学习的故障检测系统
  14. CentOS 8安装源设置基础软件仓库时出错
  15. 2017-2018-2 《密码与安全新技术》第一周作业
  16. 微信小程序学习之JS模块化(总结)
  17. 一页纸项目管理,附图表模板,可免费领取 | 再大的项目,都能用1页纸讲明白
  18. 操作系统原理_田丽华(8)内存管理
  19. Linux 常见命令(free, top)
  20. ppt 3d小人系列

热门文章

  1. word另存为html行距,word文档如何设置行间距
  2. 常见泰勒展开公式及复杂泰勒展开求法
  3. 手把手教你微信公众号如何给指定用户发送消息提醒
  4. 一级计算机脚注怎么加,word怎么插入脚注 word添加脚注图文教程
  5. PyQt: 拖放事件(Drag Drop)
  6. ERP/WMS仓库管理系统库存商品成本计算
  7. SDK数据采集抓取精准主要
  8. Chrome 浏览器关闭了360主页防护后每次打开仍然是360导航问题排查与处理方法,不卸载360流氓软件解决chrome浏览器主页锁定问题
  9. 如何在Microsoft Word里面插入图片作为背景/封面?
  10. 直连路由的配置-思科模拟器练习(Cisco Packet Tracer)