程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入门

  • 后端手册

  • 前端手册

  • 组件文档

  • 数据库分析

    • 系统管理表
      • 1. 部门表 (sys_dept)
      • 2. 用户信息表 (sys_user)
      • 3. 岗位信息表 (sys_post)
      • 4. 角色信息表 (sys_role)
      • 5. 菜单权限表 (sys_menu)
      • 6. 用户与角色关联表 (sys_user_role)
      • 7. 角色与菜单关联表 (sys_role_menu)
      • 8. 角色与部门关联表 (sys_role_dept)
      • 9. 用户与岗位关联表 (sys_user_post)
      • 10. 操作日志记录表 (sys_oper_log)
      • 11. 字典类型表 (sys_dict_type)
      • 12. 字典数据表 (sys_dict_data)
      • 13. 参数配置表 (sys_config)
      • 14. 系统访问记录表 (sys_logininfor)
      • 15. 定时任务调度表 (sys_job)
      • 16. 定时任务调度日志表 (sys_job_log)
      • 17. 通知公告表 (sys_notice)
      • 18. 代码生成业务表 (gen_table)
      • 19. 代码生成业务表字段 (gen_table_column)
    • 任务调度表
  • 若依框架
  • 数据库分析
scholar
2024-08-31
目录

系统管理表

# 1. 部门表 (sys_dept)

表作用:
sys_dept 表用于存储系统中所有部门的信息。每个部门都可以有一个父部门,从而形成一个层次结构。该表的典型用例是在系统中管理公司或组织的部门结构。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dept;

-- 创建部门表
create table sys_dept (
  dept_id           bigint(20)      not null auto_increment    comment '部门id',            -- 部门唯一标识,自动递增
  parent_id         bigint(20)      default 0                  comment '父部门id',         -- 上级部门的id,0表示无上级
  ancestors         varchar(50)     default ''                 comment '祖级列表',         -- 用于存储部门的上级链,如 "0,100,101"
  dept_name         varchar(30)     default ''                 comment '部门名称',         -- 部门的名称
  order_num         int(4)          default 0                  comment '显示顺序',         -- 部门的显示顺序
  leader            varchar(20)     default null               comment '负责人',           -- 部门负责人
  phone             varchar(11)     default null               comment '联系电话',         -- 部门联系电话
  email             varchar(50)     default null               comment '邮箱',             -- 部门联系邮箱
  status            char(1)         default '0'                comment '部门状态(0正常 1停用)', -- 部门状态,0表示正常,1表示停用
  del_flag          char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
  create_by         varchar(64)     default ''                 comment '创建者',           -- 记录表的创建者
  create_time 	    datetime                                   comment '创建时间',         -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',           -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',         -- 记录最后更新时间
  primary key (dept_id)                                          -- 设定 dept_id 为主键
) engine=innodb auto_increment=200 comment = '部门表';             -- 设定存储引擎为 InnoDB,且主键从 200 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

表之间的关系:

  • 部门表 (sys_dept) 与用户表 (sys_user) 通过 dept_id 关联。一个部门可以有多个用户。
  • 部门表中的 parent_id 字段用于实现部门的上下级关系,形成一个层级结构。

# 2. 用户信息表 (sys_user)

image-20240830132138465

表作用:
sys_user 表用于存储系统中所有用户的信息。它包含用户的基本信息,如用户名、昵称、联系方式、以及所属部门等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user;

-- 创建用户信息表
create table sys_user (
  user_id           bigint(20)      not null auto_increment    comment '用户ID',              -- 用户唯一标识,自动递增
  dept_id           bigint(20)      default null               comment '部门ID',              -- 关联的部门id
  user_name         varchar(30)     not null                   comment '用户账号',            -- 用户的登录账号
  nick_name         varchar(30)     not null                   comment '用户昵称',            -- 用户的昵称
  user_type         varchar(2)      default '00'               comment '用户类型(00系统用户)', -- 用户类型,00表示系统用户
  email             varchar(50)     default ''                 comment '用户邮箱',            -- 用户的电子邮箱
  phonenumber       varchar(11)     default ''                 comment '手机号码',            -- 用户的手机号码
  sex               char(1)         default '0'                comment '用户性别(0男 1女 2未知)', -- 用户性别
  avatar            varchar(100)    default ''                 comment '头像地址',            -- 用户的头像地址
  password          varchar(100)    default ''                 comment '密码',                -- 用户的登录密码
  status            char(1)         default '0'                comment '帐号状态(0正常 1停用)', -- 帐号状态,0表示正常,1表示停用
  del_flag          char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
  login_ip          varchar(128)    default ''                 comment '最后登录IP',           -- 最后登录的IP地址
  login_date        datetime                                   comment '最后登录时间',         -- 最后登录时间
  create_by         varchar(64)     default ''                 comment '创建者',              -- 记录表的创建者
  create_time       datetime                                   comment '创建时间',            -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',              -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',            -- 记录最后更新时间
  remark            varchar(500)    default null               comment '备注',                -- 备注信息
  primary key (user_id)                                          -- 设定 user_id 为主键
) engine=innodb auto_increment=100 comment = '用户信息表';             -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

表之间的关系:

  • 用户信息表 (sys_user) 通过 dept_id 关联到部门表 (sys_dept),每个用户属于一个部门。
  • 用户信息表中的 user_id 用于与其他表进行关联,如用户角色关联表 (sys_user_role),用于表示一个用户可以具有多个角色。

# 3. 岗位信息表 (sys_post)

表作用:
sys_post 表用于存储系统中所有岗位的信息。每个岗位对应一个工作职位,如经理、开发人员等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_post;

-- 创建岗位信息表
create table sys_post (
  post_id       bigint(20)      not null auto_increment    comment '岗位ID',           -- 岗位唯一标识,自动递增
  post_code     varchar(64)     not null                   comment '岗位编码',         -- 岗位的编码,用于标识岗位
  post_name     varchar(50)     not null                   comment '岗位名称',         -- 岗位的名称
  post_sort     int(4)          not null                   comment '显示顺序',         -- 岗位的显示顺序
  status        char(1)         not null                   comment '状态(0正常 1停用)', -- 岗位的状态,0表示正常,1表示停用
  create_by     varchar(64)     default ''                 comment '创建者',           -- 记录表的创建者
  create_time   datetime                                   comment '创建时间',         -- 记录创建时间
  update_by     varchar(64)     default ''                 comment '更新者',           -- 记录最后更新者
  update_time   datetime                                   comment '更新时间',         -- 记录最后更新时间
  remark        varchar(500)    default null               comment '备注',             -- 备注信息
  primary key (post_id)                                          -- 设定 post_id 为主键
) engine=innodb comment = '岗位信息表';                               -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

表之间的关系:

  • 岗位信息表 (sys_post) 与用户信息表 (sys_user_post) 通过中间表 (sys_user_post) 进行多对多关联,表示一个用户可以担任多个岗位,一个岗位也可以有多个用户。

# 4. 角色信息表 (sys_role)

表作用:
sys_role 表用于存储系统中所有角色的信息。角色定义了用户的权限范围,如管理员、普通用户等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role;

-- 创建角色信息表
create table sys_role (
  role_id              bigint(20)      not null auto_increment    comment '角色ID',          -- 角色唯一标识,自动递增
  role_name            varchar(30)     not null                   comment '角色名称',        -- 角色的名称
  role_key             varchar(100)    not null                   comment '角色权限字符串', 

 -- 角色权限字符串,如admin, user等
  role_sort            int(4)          not null                   comment '显示顺序',        -- 角色的显示顺序
  data_scope           char(1)         default '1'                comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', -- 数据权限范围
  menu_check_strictly  tinyint(1)      default 1                  comment '菜单树选择项是否关联显示', -- 菜单树是否关联显示
  dept_check_strictly  tinyint(1)      default 1                  comment '部门树选择项是否关联显示', -- 部门树是否关联显示
  status               char(1)         not null                   comment '角色状态(0正常 1停用)', -- 角色状态,0表示正常,1表示停用
  del_flag             char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
  create_by            varchar(64)     default ''                 comment '创建者',          -- 记录表的创建者
  create_time          datetime                                   comment '创建时间',        -- 记录创建时间
  update_by            varchar(64)     default ''                 comment '更新者',          -- 记录最后更新者
  update_time          datetime                                   comment '更新时间',        -- 记录最后更新时间
  remark               varchar(500)    default null               comment '备注',            -- 备注信息
  primary key (role_id)                                          -- 设定 role_id 为主键
) engine=innodb auto_increment=100 comment = '角色信息表';             -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

表之间的关系:

  • 角色信息表 (sys_role) 与用户信息表 (sys_user) 通过中间表 (sys_user_role) 进行多对多关联,表示一个用户可以有多个角色,一个角色也可以分配给多个用户。
  • 角色信息表 (sys_role) 与菜单权限表 (sys_menu) 通过中间表 (sys_role_menu) 进行多对多关联,表示一个角色可以拥有多个菜单权限。

# 5. 菜单权限表 (sys_menu)

表作用:
sys_menu 表用于存储系统中的所有菜单信息。每个菜单对应一个功能页面或按钮,系统通过该表实现基于菜单的权限控制。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_menu;

-- 创建菜单权限表
create table sys_menu (
  menu_id           bigint(20)      not null auto_increment    comment '菜单ID',             -- 菜单唯一标识,自动递增
  menu_name         varchar(50)     not null                   comment '菜单名称',           -- 菜单的名称
  parent_id         bigint(20)      default 0                  comment '父菜单ID',           -- 上级菜单的ID,0表示顶级菜单
  order_num         int(4)          default 0                  comment '显示顺序',           -- 菜单的显示顺序
  path              varchar(200)    default ''                 comment '路由地址',           -- 前端路由地址
  component         varchar(255)    default null               comment '组件路径',           -- 前端组件路径
  query             varchar(255)    default null               comment '路由参数',           -- 路由参数
  route_name        varchar(50)     default ''                 comment '路由名称',           -- 路由名称
  is_frame          int(1)          default 1                  comment '是否为外链(0是 1否)', -- 是否是外部链接
  is_cache          int(1)          default 0                  comment '是否缓存(0缓存 1不缓存)', -- 是否缓存该菜单
  menu_type         char(1)         default ''                 comment '菜单类型(M目录 C菜单 F按钮)', -- 菜单类型
  visible           char(1)         default 0                  comment '菜单状态(0显示 1隐藏)', -- 菜单状态,0表示显示,1表示隐藏
  status            char(1)         default 0                  comment '菜单状态(0正常 1停用)', -- 菜单状态,0表示正常,1表示停用
  perms             varchar(100)    default null               comment '权限标识',           -- 权限标识字符串,用于控制权限
  icon              varchar(100)    default '#'                comment '菜单图标',           -- 菜单图标
  create_by         varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time       datetime                                   comment '创建时间',           -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark            varchar(500)    default ''                 comment '备注',               -- 备注信息
  primary key (menu_id)                                          -- 设定 menu_id 为主键
) engine=innodb auto_increment=2000 comment = '菜单权限表';             -- 设定存储引擎为 InnoDB,且主键从 2000 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

表之间的关系:

  • 菜单权限表 (sys_menu) 与角色表 (sys_role) 通过 sys_role_menu 表关联,一个角色可以有多个菜单权限,一个菜单也可以分配给多个角色。
  • 菜单表中的 parent_id 字段用于实现菜单的层级结构,支持子菜单和父菜单的关联。

# 6. 用户与角色关联表 (sys_user_role)

表作用:
sys_user_role 表用于管理用户与角色之间的多对多关系。一个用户可以分配多个角色,一个角色也可以分配给多个用户。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user_role;

-- 创建用户与角色关联表
create table sys_user_role (
  user_id   bigint(20) not null comment '用户ID',             -- 关联的用户ID
  role_id   bigint(20) not null comment '角色ID',             -- 关联的角色ID
  primary key(user_id, role_id)                                -- 复合主键,确保用户和角色关系的唯一性
) engine=innodb comment = '用户和角色关联表';                    -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9

表之间的关系:

  • sys_user_role 表是用户表 (sys_user) 和角色表 (sys_role) 的关联表,实现用户与角色的多对多关系。
  • 在分配角色时,通过该表实现一个用户拥有多个角色,一个角色也可分配给多个用户。

# 7. 角色与菜单关联表 (sys_role_menu)

表作用:
sys_role_menu 表用于管理角色与菜单之间的多对多关系。一个角色可以访问多个菜单,一个菜单也可以被多个角色访问。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role_menu;

-- 创建角色与菜单关联表
create table sys_role_menu (
  role_id   bigint(20) not null comment '角色ID',             -- 关联的角色ID
  menu_id   bigint(20) not null comment '菜单ID',             -- 关联的菜单ID
  primary key(role_id, menu_id)                                -- 复合主键,确保角色和菜单关系的唯一性
) engine=innodb comment = '角色和菜单关联表';                    -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9

表之间的关系:

  • sys_role_menu 表是角色表 (sys_role) 和菜单表 (sys_menu) 的关联表,实现角色与菜单的多对多关系。
  • 在分配权限时,通过该表实现一个角色可以拥有多个菜单权限,一个菜单也可以被多个角色访问。

# 8. 角色与部门关联表 (sys_role_dept)

表作用:
sys_role_dept 表用于管理角色与部门之间的多对多关系。一个角色可以对应多个部门权限,一个部门也可以由多个角色管理。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role_dept;

-- 创建角色与部门关联表
create table sys_role_dept (
  role_id   bigint(20) not null comment '角色ID',             -- 关联的角色ID
  dept_id   bigint(20) not null comment '部门ID',             -- 关联的部门ID
  primary key(role_id, dept_id)                                -- 复合主键,确保角色和部门关系的唯一性
) engine=innodb comment = '角色和部门关联表';                    -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9

表之间的关系:

  • sys_role_dept 表是角色表 (sys_role) 和部门表 (sys_dept) 的关联表,实现角色与部门的多对多关系。
  • 通过该表可以配置一个角色对多个部门的数据权限管理,一个部门也可以由多个角色进行管理。

# 9. 用户与岗位关联表 (sys_user_post)

表作用:
sys_user_post 表用于管理用户与岗位之间的多对多关系。一个用户可以担任多个岗位,一个岗位也可以由多个用户担任。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user_post;

-- 创建用户与岗位关联表
create table sys_user_post (
  user_id   bigint(20) not null comment '用户ID',             -- 关联的用户ID
  post_id   bigint(20) not null comment '岗位ID',             -- 关联的岗位ID
  primary key (user_id, post_id)                                -- 复合主键,确保用户和岗位关系的唯一性
) engine=innodb comment = '用户与岗位关联表';                    -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9

表之间的关系:

  • sys_user_post 表是用户表 (sys_user) 和岗位表 (sys_post) 的关联表,实现用户与岗位的多对多关系。
  • 通过该表,用户可以担任多个岗位,岗位也可以被多个用户担任。

# 10. 操作日志记录表 (sys_oper_log)

表作用:
sys_oper_log 表用于记录系统中所有用户的操作日志,包含操作内容、操作时间、操作结果等信息。通常用于审计和监控用户操作。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_oper_log;

-- 创建操作日志记录表
create table sys_oper_log (
  oper_id           bigint(20)      not null auto_increment    comment '日志主键',            -- 日志的唯一标识,自动递增
  title             varchar(50)     default ''                 comment '模块标题',            -- 操作的模块标题,如“用户管理”
  business_type     int(2)          default 0                  comment '业务类型(0其它 1新增 2修改 3删除)', -- 操作的业务类型,0表示其他
  method            varchar(200)    default ''                 comment '方法名称',            -- 操作调用的方法名称
  request_method    varchar(10)     default ''                 comment '请求方式',            -- 请求方式,如GET、POST
  operator_type     int(1)          default 0                  comment '操作类别(0其它 1后台用户 2手机端用户)', -- 操作者类型
  oper_name         varchar(50)     default ''                 comment '操作人员',            -- 操作者的名称
  dept_name         varchar(50)     default ''                 comment '部门名称',            -- 操作者所属部门
  oper_url          varchar(255)    default ''                 comment '请求URL',             -- 操作的请求URL
  oper_ip           varchar(128)    default ''                 comment '主机地址',            -- 操作者的IP地址
  oper_location     varchar(255)    default ''                 comment '操作地点',            -- 操作的地点
  oper_param        varchar(2000)   default ''                 comment '请求参数',            -- 操作时的请求参数
  json_result       varchar(2000)   default ''                 comment '返回参数',            -- 操作的返回结果
  status            int(1)          default 0                  comment '操作状态(0正常 1异常)', -- 操作状态
  error_msg         varchar(2000)   default ''                 comment '错误消息',            -- 操作错误信息
  oper_time         datetime                                   comment '操作时间',            -- 操作发生的时间
  cost_time         bigint(20)      default 0                  comment '消耗时间',            -- 操作消耗的时间(毫秒)
  primary key (oper_id),                                          -- 设定 oper_id 为主键
  key idx_sys_oper_log_bt (business_type),                        -- 为业务类型添加索引
  key idx_sys_oper_log_s  (status),                                -- 为状态添加索引
  key idx_sys_oper_log_ot (oper_time)                              -- 为操作时间添加索引
) engine=innodb auto_increment=100 comment = '操作日志记录';            -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

表之间的关系:

  • 该表与其他业务表无直接关系,但用于记录用户在系统中进行的所有操作,方便管理员进行监控和审计。

# 11. 字典类型表 (sys_dict_type)

表作用:
sys_dict_type 表用于存储系统中的所有字典类型信息。字典类型用于定义系统中各种类型的字典数据,如用户性别、菜单状态等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dict_type;

-- 创建字典类型表
create table sys_dict_type (
  dict_id          bigint(20)      not null auto_increment    comment '字典主键',            -- 字典类型的唯一标识,自动递增
  dict_name        varchar(100)    default ''                 comment '字典名称',            -- 字典类型的名称,如“用户性别”
  dict_type        varchar(100)    default ''                 comment '字典类型',            -- 字典类型标识,如“sys_user_sex”
  status           char(1)         default '0'                comment '状态(0正常 1停用)', -- 字典类型状态
  create_by        varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time      datetime                                   comment '创建时间',           -- 记录创建时间
  update_by        varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time      datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark           varchar(500)    default null               comment '备注',               -- 备注信息
  primary key (dict_id),                                          -- 设定 dict_id 为主键
  unique (dict_type)                                              -- 字典类型字段设置为唯一索引,确保不重复
) engine=innodb auto_increment=100 comment = '字典类型表';             -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

表之间的关系:

  • 字典类型表 (sys_dict_type) 与字典数据表 (sys_dict_data) 通过 dict_type 字段进行关联。一个字典类型可以有多个字典数据。

# 12. 字典数据表 (sys_dict_data)

表作用:
sys_dict_data 表用于存储系统中的具体字典数据。每个字典数据条目属于一个字典类型,并用于提供系统中各种常量值的选择。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dict_data;

-- 创建字典数据表
create table sys_dict_data (
  dict_code        bigint(20)      not null auto_increment    comment '字典编码',            -- 字典数据的唯一标识,自动递增
  dict_sort        int(4)          default 0                  comment '字典排序',            -- 字典数据的排序序号
  dict_label       varchar(100)    default ''                 comment '字典标签',            -- 字典数据的标签,如“男”
  dict_value       varchar(100)    default ''                 comment '字典键值',            -- 字典数据的键值,如“0”
  dict_type        varchar(100)    default ''                 comment '字典类型',            -- 字典类型标识,关联到字典类型表
  css_class        varchar(100)    default null               comment '样式属性(其他样式扩展)', -- 样式属性
  list_class       varchar(100)    default null               comment '表格回显样式',        -- 表格回显样式
  is_default       char(1)         default 'N'                comment '是否默认(Y是 N否)', -- 是否为默认项
  status           char(1)         default '0'                comment '状态(0正常 1停用)', -- 字典数据状态
  create_by        varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time      datetime                                   comment '创建时间',           -- 记录创建时间
  update_by        varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time      datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark           varchar(500)    default null               comment '备注',               -- 备注信息
  primary key (dict_code)                                          -- 设定 dict_code 为主键
) engine=innodb auto_increment=100 comment = '字典数据表';              -- 设定存储引擎为 InnoDB,且主键

从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

表之间的关系:

  • 字典数据表 (sys_dict_data) 通过 dict_type 字段关联到字典类型表 (sys_dict_type),从而表示某种类型下的具体字典数据。

# 13. 参数配置表 (sys_config)

表作用:
sys_config 表用于存储系统的各种参数配置,如系统主题、初始密码、验证码开关等。管理员可以通过该表配置系统的全局参数。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_config;

-- 创建参数配置表
create table sys_config (
  config_id         int(5)          not null auto_increment    comment '参数主键',            -- 配置项的唯一标识,自动递增
  config_name       varchar(100)    default ''                 comment '参数名称',            -- 参数名称,如“主框架页-默认皮肤样式名称”
  config_key        varchar(100)    default ''                 comment '参数键名',            -- 参数键名,如“sys.index.skinName”
  config_value      varchar(500)    default ''                 comment '参数键值',            -- 参数键值,如“skin-blue”
  config_type       char(1)         default 'N'                comment '系统内置(Y是 N否)', -- 是否系统内置参数,Y是,N否
  create_by         varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time       datetime                                   comment '创建时间',           -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark            varchar(500)    default null               comment '备注',               -- 备注信息
  primary key (config_id)                                        -- 设定 config_id 为主键
) engine=innodb auto_increment=100 comment = '参数配置表';              -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

表之间的关系:

  • sys_config 表独立于其他表,主要用于管理系统配置项,不与其他业务表直接关联。

# 14. 系统访问记录表 (sys_logininfor)

表作用:
sys_logininfor 表用于记录用户登录系统的详细信息,包括登录IP、登录地点、登录时间、浏览器信息等。该表可用于安全审计与登录行为分析。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_logininfor;

-- 创建系统访问记录表
create table sys_logininfor (
  info_id        bigint(20)     not null auto_increment   comment '访问ID',               -- 访问记录的唯一标识,自动递增
  user_name      varchar(50)    default ''                comment '用户账号',             -- 用户的登录账号
  ipaddr         varchar(128)   default ''                comment '登录IP地址',           -- 用户登录的IP地址
  login_location varchar(255)   default ''                comment '登录地点',             -- 用户登录的地理位置
  browser        varchar(50)    default ''                comment '浏览器类型',           -- 用户使用的浏览器类型
  os             varchar(50)    default ''                comment '操作系统',             -- 用户使用的操作系统
  status         char(1)        default '0'               comment '登录状态(0成功 1失败)', -- 登录状态,0表示成功,1表示失败
  msg            varchar(255)   default ''                comment '提示消息',             -- 登录时的提示消息
  login_time     datetime                                 comment '访问时间',             -- 用户登录的时间
  primary key (info_id),                                      -- 设定 info_id 为主键
  key idx_sys_logininfor_s  (status),                          -- 为状态添加索引
  key idx_sys_logininfor_lt (login_time)                       -- 为登录时间添加索引
) engine=innodb auto_increment=100 comment = '系统访问记录';           -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

表之间的关系:

  • sys_logininfor 表独立于其他表,主要用于记录用户的登录行为,适合用于审计和追踪用户登录历史。

# 15. 定时任务调度表 (sys_job)

表作用:
sys_job 表用于存储系统中所有定时任务的配置信息,如任务名称、任务分组、执行周期、状态等。该表用于管理和调度系统中的定时任务。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_job;

-- 创建定时任务调度表
create table sys_job (
  job_id              bigint(20)    not null auto_increment    comment '任务ID',               -- 任务的唯一标识,自动递增
  job_name            varchar(64)   default ''                 comment '任务名称',             -- 定时任务的名称
  job_group           varchar(64)   default 'DEFAULT'          comment '任务组名',             -- 定时任务的分组名称
  invoke_target       varchar(500)  not null                   comment '调用目标字符串',        -- 调用目标的方法名或字符串
  cron_expression     varchar(255)  default ''                 comment 'cron执行表达式',       -- cron 表达式,定义任务执行时间
  misfire_policy      varchar(20)   default '3'                comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', -- 执行错误策略
  concurrent          char(1)       default '1'                comment '是否并发执行(0允许 1禁止)', -- 是否允许并发执行
  status              char(1)       default '0'                comment '状态(0正常 1暂停)',  -- 任务的状态,0表示正常,1表示暂停
  create_by           varchar(64)   default ''                 comment '创建者',               -- 记录表的创建者
  create_time         datetime                                 comment '创建时间',             -- 记录创建时间
  update_by           varchar(64)   default ''                 comment '更新者',               -- 记录最后更新者
  update_time         datetime                                 comment '更新时间',             -- 记录最后更新时间
  remark              varchar(500)  default ''                 comment '备注信息',             -- 备注信息
  primary key (job_id, job_name, job_group)                      -- 复合主键,确保任务唯一性
) engine=innodb auto_increment=100 comment = '定时任务调度表';           -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

表之间的关系:

  • sys_job 表独立管理系统中的定时任务配置,不直接与其他表关联。用于实现系统内定时任务的创建、管理和调度。

# 16. 定时任务调度日志表 (sys_job_log)

表作用:
sys_job_log 表用于记录系统中定时任务的执行日志,包含任务名称、执行状态、执行时间、错误信息等。该表用于监控定时任务的执行情况。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_job_log;

-- 创建定时任务调度日志表
create table sys_job_log (
  job_log_id          bigint(20)     not null auto_increment    comment '任务日志ID',          -- 任务日志的唯一标识,自动递增
  job_name            varchar(64)    not null                   comment '任务名称',            -- 任务名称
  job_group           varchar(64)    not null                   comment '任务组名',            -- 任务分组名称
  invoke_target       varchar(500)   not null                   comment '调用目标字符串',       -- 调用目标的方法名或字符串
  job_message         varchar(500)                              comment '日志信息',            -- 任务执行的日志信息
  status              char(1)        default '0'                comment '执行状态(0正常 1失败)', -- 任务执行状态,0表示正常,1表示失败
  exception_info      varchar(2000)  default ''                 comment '异常信息',            -- 任务执行的异常信息
  create_time         datetime                                  comment '创建时间',            -- 任务日志的创建时间
  primary key (job_log_id)                                      -- 设定 job_log_id 为主键
) engine=innodb comment = '定时任务调度日志表';                            -- 设定存储引擎为 InnoDB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

表之间的关系:

  • sys_job_log 表主要用于记录 sys_job 表中的任务执行情况,独立于其他业务表,专门用于记录定时任务的执行日志。

# 17. 通知公告表 (sys_notice)

表作用:
sys_notice 表用于存储

系统中的通知公告信息,如系统维护公告、新功能发布通知等。该表用于在系统中发布和管理公告内容。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_notice;

-- 创建通知公告表
create table sys_notice (
  notice_id         int(4)          not null auto_increment    comment '公告ID',             -- 公告的唯一标识,自动递增
  notice_title      varchar(50)     not null                   comment '公告标题',           -- 公告的标题
  notice_type       char(1)         not null                   comment '公告类型(1通知 2公告)', -- 公告类型,1表示通知,2表示公告
  notice_content    longblob        default null               comment '公告内容',           -- 公告的具体内容
  status            char(1)         default '0'                comment '公告状态(0正常 1关闭)', -- 公告状态,0表示正常,1表示关闭
  create_by         varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time       datetime                                   comment '创建时间',           -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark            varchar(255)    default null               comment '备注',               -- 备注信息
  primary key (notice_id)                                        -- 设定 notice_id 为主键
) engine=innodb auto_increment=10 comment = '通知公告表';              -- 设定存储引擎为 InnoDB,且主键从 10 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

表之间的关系:

  • sys_notice 表独立于其他表,主要用于管理系统的通知公告内容。

# 18. 代码生成业务表 (gen_table)

表作用:
gen_table 表用于存储系统中代码生成器的业务表信息,包含生成的表名称、表描述、模板类型、生成路径等。该表用于管理代码生成器的元数据。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists gen_table;

-- 创建代码生成业务表
create table gen_table (
  table_id          bigint(20)      not null auto_increment    comment '编号',               -- 表的唯一标识,自动递增
  table_name        varchar(200)    default ''                 comment '表名称',             -- 生成代码的表名称
  table_comment     varchar(500)    default ''                 comment '表描述',             -- 生成代码的表描述
  sub_table_name    varchar(64)     default null               comment '关联子表的表名',      -- 关联的子表名称
  sub_table_fk_name varchar(64)     default null               comment '子表关联的外键名',    -- 子表的外键名称
  class_name        varchar(100)    default ''                 comment '实体类名称',          -- 生成代码的实体类名称
  tpl_category      varchar(200)    default 'crud'             comment '使用的模板(crud单表操作 tree树表操作)', -- 使用的模板类型
  tpl_web_type      varchar(30)     default ''                 comment '前端模板类型(element-ui模版 element-plus模版)', -- 前端模板类型
  package_name      varchar(100)                               comment '生成包路径',          -- 生成代码的包路径
  module_name       varchar(30)                                comment '生成模块名',          -- 生成代码的模块名
  business_name     varchar(30)                                comment '生成业务名',          -- 生成代码的业务名
  function_name     varchar(50)                                comment '生成功能名',          -- 生成代码的功能名
  function_author   varchar(50)                                comment '生成功能作者',        -- 生成代码的作者
  gen_type          char(1)         default '0'                comment '生成代码方式(0zip压缩包 1自定义路径)', -- 生成代码的方式
  gen_path          varchar(200)    default '/'                comment '生成路径(不填默认项目路径)', -- 生成代码的路径
  options           varchar(1000)                              comment '其它生成选项',        -- 其他生成选项
  create_by         varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time 	    datetime                                   comment '创建时间',           -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',           -- 记录最后更新时间
  remark            varchar(500)    default null               comment '备注',               -- 备注信息
  primary key (table_id)                                        -- 设定 table_id 为主键
) engine=innodb auto_increment=1 comment = '代码生成业务表';             -- 设定存储引擎为 InnoDB,且主键从 1 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

表之间的关系:

  • gen_table 表独立管理代码生成的元数据信息,不直接与其他业务表关联,主要用于代码生成器的表结构管理。

# 19. 代码生成业务表字段 (gen_table_column)

表作用:
gen_table_column 表用于存储代码生成器中各个业务表的字段信息,包含字段名称、字段描述、数据类型、是否主键等。该表用于详细管理生成代码的字段结构。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists gen_table_column;

-- 创建代码生成业务表字段表
create table gen_table_column (
  column_id         bigint(20)      not null auto_increment    comment '编号',               -- 字段的唯一标识,自动递增
  table_id          bigint(20)                                 comment '归属表编号',         -- 归属的表ID,关联到 gen_table 表
  column_name       varchar(200)                               comment '列名称',             -- 字段名称,如 user_id
  column_comment    varchar(500)                               comment '列描述',             -- 字段描述,如“用户ID”
  column_type       varchar(100)                               comment '列类型',             -- 字段类型,如 bigint(20)
  java_type         varchar(500)                               comment 'JAVA类型',           -- 对应的 Java 类型,如 Long
  java_field        varchar(200)                               comment 'JAVA字段名',          -- 对应的 Java 字段名称
  is_pk             char(1)                                    comment '是否主键(1是)',     -- 是否为主键,1表示是
  is_increment      char(1)                                    comment '是否自增(1是)',     -- 是否自增,1表示是
  is_required       char(1)                                    comment '是否必填(1是)',     -- 是否必填字段,1表示是
  is_insert         char(1)                                    comment '是否为插入字段(1是)', -- 是否作为插入字段,1表示是
  is_edit           char(1)                                    comment '是否编辑字段(1是)', -- 是否允许编辑字段,1表示是
  is_list           char(1)                                    comment '是否列表字段(1是)', -- 是否作为列表显示字段,1表示是
  is_query          char(1)                                    comment '是否查询字段(1是)', -- 是否作为查询条件字段,1表示是
  query_type        varchar(200)    default 'EQ'               comment '查询方式(等于、不等于、大于、小于、范围)', -- 查询方式
  html_type         varchar(200)                               comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', -- 前端显示类型
  dict_type         varchar(200)    default ''                 comment '字典类型',           -- 字典类型,关联到字典表
  sort              int                                        comment '排序',               -- 字段的排序顺序
  create_by         varchar(64)     default ''                 comment '创建者',             -- 记录表的创建者
  create_time 	    datetime                                   comment '创建时间',           -- 记录创建时间
  update_by         varchar(64)     default ''                 comment '更新者',             -- 记录最后更新者
  update_time       datetime                                   comment '更新时间',           -- 记录最后更新时间
  primary key (column_id)                                       -- 设定 column_id 为主键
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';           -- 设定存储引擎为 InnoDB,且主键从 1 开始自增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

表之间的关系:

  • gen_table_column 表与 gen_table 表通过 table_id 字段关联,详细管理每个业务表的字段信息。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
系统组件文档
任务调度表

← 系统组件文档 任务调度表→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式