-- 经典管理系统权限设计
-- 需要五个表
-- 用户表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='权限定义'