管理系统经典权限设计MySql
-- 经典管理系统权限设计 -- 需要五个表 -- 用户表Sys_User -- 角色表Sys_Role -- 权限表Sys_Power -- 角色权限关联表(1:N)Sys_RolePower -- 用户角色关联表(1:N)Sys_UserRole -- 用户表存储用户信息 -- 角色表存储角色信息 -- 权限表存储权限信息 -- 用户角色权限关联表存储角色对应的权限信息 -- 用户 角色 权限 可以单独新增,角色可以关联多个用户,可以关联多个权限 -- 也就是说用户可以通过关联不同的角色来适配不同的权限 -- 此结构权限可以细分到每个页面的每个按钮增删改查按钮 select * from Sys_Users su ; select * from Sys_Role sr ; select * from Sys_UserRole; select * from Sys_RolePower; select * from Sys_Power ; -- Sys_Users 用户表结构 CREATE TABLE `Sys_Users` ( `UserID` varchar(50) NOT NULL COMMENT '用户账号', `UserName` varchar(100) NOT NULL COMMENT '用户名称', `NickName` varchar(50) DEFAULT NULL COMMENT '用户昵称', `Email` varchar(100) DEFAULT NULL COMMENT '邮箱', `Password` varchar(50) NOT NULL COMMENT '密码', `Sex` varchar(10) NOT NULL COMMENT '性别', `AvatarUrl` varchar(200) DEFAULT NULL COMMENT '头像地址', `QQ` varchar(50) DEFAULT NULL COMMENT 'QQ', `Phone` varchar(50) DEFAULT NULL COMMENT '手机号码', `ProvinceID` varchar(10) DEFAULT NULL COMMENT '用户所在省份编码', `Province` varchar(50) DEFAULT NULL COMMENT '用户所在省份', `CityID` varchar(10) DEFAULT NULL COMMENT '用户所在城市编码', `City` varchar(50) DEFAULT NULL COMMENT '用户所在城市', `CountyID` varchar(10) DEFAULT NULL COMMENT '用户所在县/区编码', `County` varchar(50) DEFAULT NULL COMMENT '用户所在县/区', `Address` text COMMENT '地址', `Remark` text COMMENT '备注', `IdentityCard` varchar(50) DEFAULT NULL COMMENT '身份证', `Birthday` datetime DEFAULT NULL COMMENT '生日', `LastLoginTime` datetime DEFAULT NULL COMMENT '上次登录时间', `Enabled` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', `OneSession` bit(1) NOT NULL DEFAULT b'0' COMMENT '单用户模式', `CreateTime` datetime NOT NULL COMMENT '创建时间', `UpdateTime` datetime NOT NULL COMMENT '最后更新时间', `CreateID` varchar(50) NOT NULL COMMENT '创建人编码', `CreateName` varchar(100) NOT NULL COMMENT '创建人', `UpdateID` varchar(50) NOT NULL COMMENT '更新人编码', `UpdateName` varchar(100) NOT NULL COMMENT '更新人', `Administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '超级管理员', PRIMARY KEY (`UserID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户管理'
-- Sys_Role 角色表结构 CREATE TABLE `Sys_Role` ( `ID` varchar(36) NOT NULL COMMENT 'ID', `Name` varchar(50) NOT NULL COMMENT '角色名称', `Remark` varchar(100) DEFAULT NULL COMMENT '备注', `CreateTime` datetime NOT NULL COMMENT '创建时间', `UpdateTime` datetime NOT NULL COMMENT '最后更新时间', `CreateID` varchar(50) NOT NULL COMMENT '创建人编码', `CreateName` varchar(100) NOT NULL COMMENT '创建人', `UpdateID` varchar(50) NOT NULL COMMENT '更新人编码', `UpdateName` varchar(100) NOT NULL COMMENT '更新人', `Administrator` bit(1) NOT NULL COMMENT '超级管理员可见', PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色定义'
-- Sys_UserRole 用户角色关联表结构 CREATE TABLE `Sys_UserRole` ( `ID` varchar(36) NOT NULL COMMENT 'UUID', `UserID` varchar(50) NOT NULL COMMENT '用户ID', `RoleID` varchar(36) NOT NULL COMMENT '角色ID', PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户角色'
-- Sys_RolePower 角色权限关联表结构 CREATE TABLE `Sys_RolePower` ( `ID` varchar(36) NOT NULL COMMENT 'UUID', `RoleUID` varchar(36) NOT NULL COMMENT '角色ID', `PowerUID` varchar(36) NOT NULL COMMENT '权限ID', PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色权限'
-- Sys_Power 权限表结构 CREATE TABLE `Sys_Power` ( `ID` varchar(36) NOT NULL COMMENT 'UUID', `Name` varchar(50) NOT NULL COMMENT '权限标识', `Page` varchar(50) NOT NULL COMMENT '系统页面', `Description` varchar(50) NOT NULL COMMENT '权限描述', `Remark` varchar(100) DEFAULT NULL COMMENT '备注', `CreateTime` datetime NOT NULL COMMENT '创建时间', `UpdateTime` datetime NOT NULL COMMENT '最后更新时间', `CreateID` varchar(50) NOT NULL COMMENT '创建人编码', `CreateName` varchar(100) NOT NULL COMMENT '创建人', `UpdateID` varchar(50) NOT NULL COMMENT '更新人编码', `UpdateName` varchar(100) NOT NULL COMMENT '更新人', PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='权限定义'