MySql练习 多对多表练习-用户角色权限表
2017-12-16 11:55
267 查看
前言:对数据库知识回顾,创建数据库、创建表、主键约束、外键约束、表关系(多对多)。
一、表描述
一张用户表,一张角色表,一张权限表。一个用户对应多个角色,一个角色对应多个用户同时对应多个权限,一个权限可以对应多个角色。
以下为Sql语句:
二、架构设计图
一、表描述
一张用户表,一张角色表,一张权限表。一个用户对应多个角色,一个角色对应多个用户同时对应多个权限,一个权限可以对应多个角色。
以下为Sql语句:
-- 创建数据库 CREATE DATABASE day19hometest; -- 切换到指定数据库 USE day19hometest; -- 创建用户表 CREATE TABLE `user`( uid INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), `password` VARCHAR(20) ); -- 创建角色表 CREATE TABLE role( rid INT PRIMARY KEY AUTO_INCREMENT, rname VARCHAR(20) ); -- 创建用户与角色关联表 CREATE TABLE user_role( u_uid INT, u_rid INT ); /* 一个用户对应多个角色,一个角色对应多个用户 */ -- 添加外键约束 ALTER TABLE user_role ADD CONSTRAINT fk_u_rid FOREIGN KEY(u_rid) REFERENCES `user`(uid); ALTER TABLE user_role ADD CONSTRAINT fk_u_uid FOREIGN KEY(u_uid) REFERENCES role(rid); -- 为用户表插入数据 INSERT INTO `user` VALUE (NULL,'大家都说名字长不会被发现','ccc12345'), (NULL,'都说名字长不会被发现','xxx12345'), (NULL,'名字好长好像不容易被发现','zzz12345'); -- 为角色表中插入数据 INSERT INTO role VALUE (NULL,'用户'), (NULL,'会员用户'), (NULL,'超级会员用户'); -- 测试关联表 INSERT INTO user_role VALUE (1,3);-- 正确信息 INSERT INTO user_role VALUE (1,4);-- 错误信息 -- 增加权限表 CREATE TABLE privilege( pid INT PRIMARY KEY AUTO_INCREMENT, pdescription VARCHAR(50) ); -- 为权限表添加数据 INSERT INTO privilege VALUE (NULL,'普通学习资料'), (NULL,'付费学习资料'), (NULL,'超级会员特有付费学习资料'); -- 创建角色与权限关联表 CREATE TABLE role_pri( r_p_rid INT, r_p_pid INT ); /* 一个角色 */ -- 添加外键约束 ALTER TABLE role_pri ADD CONSTRAINT fk_r_p_rid FOREIGN KEY (r_p_rid) REFERENCES role(rid); ALTER TABLE role_pri ADD CONSTRAINT fk_r_p_pid FOREIGN KEY (r_p_pid) REFERENCES privilege(pid); -- 测试关联表 INSERT INTO role_pri VALUE (1,3); -- 正确信息 INSERT INT role_pei VALUE (1,4);-- 错误信息
二、架构设计图
相关文章推荐
- 框架 day54 BOS项目练习(权限/角色/用户管理(CRUD),基于数据库实现动态授权,ehcache缓存权限,shiro标签,菜单权限展示)
- 练习:python 操作Mysql 实现登录验证 用户权限管理
- MySql用户角色管理及权限分配(使用MySQLMembershipProvider和MySqlRoleProvider)
- BOS项目练习(权限/角色/用户管理(CRUD),基于数据库实现动态授权,ehcache缓存权限,shiro标签,菜单权限展示)
- 用户、角色、权限表的关系(mysql)
- mysql 用户角色权限表建立
- mysql 用户角色权限表建立
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(26)-权限管理系统-分配角色给用户
- Jenkins用户权限和角色配置
- MySQL 授予普通用户PROCESS权限
- mysql创建用户并赋予数据库权限
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(27)-权限管理系统-分配用户给角色
- mysql学习笔记(7-DCL命令用户账号及权限管理)
- RBAC用户角色权限设计方案【转载】
- 恢复Mysql丢失的root用户权限
- 用户-角色-权限 管理常用数据库表的设计
- [转] VMware vSphere esxi中的用户权限与角色
- Mysql创建用户并赋予权限
- Oracle用户,权限,角色以及登录管理 scoot 授权
- [Mysql] 创建新用户并赋权限