Guns项目数据库设计指南:10个核心模块表结构详解
Guns项目数据库设计指南10个核心模块表结构详解【免费下载链接】gunsGuns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc shiro 分页插件PageHelper 通用Mapper beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架.项目地址: https://gitcode.com/gh_mirrors/gun/gunsGuns是基于SpringBoot开发的简洁后台管理系统完美整合springmvc shiro 分页插件PageHelper 通用Mapper beetl提供了丰富的基础模块。本文将详细解析Guns项目的10个核心模块表结构帮助开发者快速理解系统数据模型设计。一、用户管理模块sys_user用户管理模块是系统的核心存储管理员的基本信息。表结构设计如下CREATE TABLE sys_user ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id, avatar varchar(255) DEFAULT NULL COMMENT 头像, account varchar(45) DEFAULT NULL COMMENT 账号, password varchar(45) DEFAULT NULL COMMENT 密码, salt varchar(45) DEFAULT NULL COMMENT md5密码盐, name varchar(45) DEFAULT NULL COMMENT 名字, birthday datetime DEFAULT NULL COMMENT 生日, sex int(11) DEFAULT NULL COMMENT 性别1男 2女, email varchar(45) DEFAULT NULL COMMENT 电子邮件, phone varchar(45) DEFAULT NULL COMMENT 电话, roleid varchar(255) DEFAULT NULL COMMENT 角色id, deptid int(11) DEFAULT NULL COMMENT 部门id, status int(11) DEFAULT NULL COMMENT 状态(1启用 2冻结 3删除, createtime datetime DEFAULT NULL COMMENT 创建时间, version int(11) DEFAULT NULL COMMENT 保留字段, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT47 DEFAULT CHARSETutf8 COMMENT管理员表;关键字段说明account用户登录账号唯一标识password和salt密码存储采用MD5加盐加密roleid用户关联的角色ID支持多角色deptid用户所属部门IDstatus用户状态管理支持启用、冻结和删除状态二、角色管理模块sys_role角色管理模块用于实现RBAC权限模型定义系统角色信息。表结构如下CREATE TABLE sys_role ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id, num int(11) DEFAULT NULL COMMENT 序号, pid int(11) DEFAULT NULL COMMENT 父角色id, name varchar(255) DEFAULT NULL COMMENT 角色名称, deptid int(11) DEFAULT NULL COMMENT 部门名称, tips varchar(255) DEFAULT NULL COMMENT 提示, version int(11) DEFAULT NULL COMMENT 保留字段(暂时没用, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8 COMMENT角色表;角色表支持角色的层级关系通过pid字段实现角色的父子结构便于权限的继承和管理。三、菜单管理模块sys_menu菜单管理模块定义系统的菜单结构和权限控制。表结构设计如下CREATE TABLE sys_menu ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键id, code varchar(255) DEFAULT NULL COMMENT 菜单编号, pcode varchar(255) DEFAULT NULL COMMENT 菜单父编号, pcodes varchar(255) DEFAULT NULL COMMENT 当前菜单的所有父菜单编号, name varchar(255) DEFAULT NULL COMMENT 菜单名称, icon varchar(255) DEFAULT NULL COMMENT 菜单图标, url varchar(255) DEFAULT NULL COMMENT url地址, num int(65) DEFAULT NULL COMMENT 菜单排序号, levels int(65) DEFAULT NULL COMMENT 菜单层级, ismenu int(11) DEFAULT NULL COMMENT 是否是菜单1是 0不是, tips varchar(255) DEFAULT NULL COMMENT 备注, status int(65) DEFAULT NULL COMMENT 菜单状态 : 1:启用 0:不启用, isopen int(11) DEFAULT NULL COMMENT 是否打开: 1:打开 0:不打开, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT171 DEFAULT CHARSETutf8 COMMENT菜单表;菜单表设计支持多级菜单结构通过pcode和pcodes字段记录菜单的父子关系ismenu字段区分菜单和按钮权限levels字段标识菜单层级。四、部门管理模块sys_dept部门管理模块用于组织架构管理实现企业部门的层级结构。表结构如下CREATE TABLE sys_dept ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id, num int(11) DEFAULT NULL COMMENT 排序, pid int(11) DEFAULT NULL COMMENT 父部门id, pids varchar(255) DEFAULT NULL COMMENT 父级ids, simplename varchar(45) DEFAULT NULL COMMENT 简称, fullname varchar(255) DEFAULT NULL COMMENT 全称, tips varchar(255) DEFAULT NULL COMMENT 提示, version int(11) DEFAULT NULL COMMENT 版本乐观锁保留字段, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT28 DEFAULT CHARSETutf8 COMMENT部门表;部门表通过pid和pids字段实现部门的层级结构支持无限级部门划分version字段支持乐观锁机制。五、角色菜单关联模块sys_relation角色菜单关联模块实现角色与菜单的多对多关系是权限控制的核心表。表结构如下CREATE TABLE sys_relation ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键, menuid bigint(11) DEFAULT NULL COMMENT 菜单id, roleid int(11) DEFAULT NULL COMMENT 角色id, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT3737 DEFAULT CHARSETutf8 COMMENT角色和菜单关联表;通过menuid和roleid的组合实现角色对菜单的权限分配一条记录表示一个角色拥有一个菜单的访问权限。六、字典管理模块sys_dict字典管理模块用于系统参数的统一管理如性别、状态等枚举类型数据。表结构如下CREATE TABLE sys_dict ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id, num int(11) DEFAULT NULL COMMENT 排序, pid int(11) DEFAULT NULL COMMENT 父级字典, name varchar(255) DEFAULT NULL COMMENT 名称, tips varchar(255) DEFAULT NULL COMMENT 提示, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT39 DEFAULT CHARSETutf8 COMMENT字典表;字典表采用树形结构设计通过pid字段实现字典的分类和层级关系便于系统参数的统一维护和管理。七、登录日志模块sys_login_log登录日志模块记录用户的登录行为用于系统安全审计。表结构如下CREATE TABLE sys_login_log ( id int(65) NOT NULL AUTO_INCREMENT COMMENT 主键, logname varchar(255) DEFAULT NULL COMMENT 日志名称, userid int(65) DEFAULT NULL COMMENT 管理员id, createtime datetime DEFAULT NULL COMMENT 创建时间, succeed varchar(255) DEFAULT NULL COMMENT 是否执行成功, message text COMMENT 具体消息, ip varchar(255) DEFAULT NULL COMMENT 登录ip, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT216 DEFAULT CHARSETutf8 COMMENT登录记录;登录日志记录用户登录的时间、IP地址、登录状态等信息有助于系统安全审计和问题排查。八、操作日志模块sys_operation_log操作日志模块记录用户的操作行为用于系统操作审计和问题追踪。表结构如下CREATE TABLE sys_operation_log ( id int(65) NOT NULL AUTO_INCREMENT COMMENT 主键, logtype varchar(255) DEFAULT NULL COMMENT 日志类型, logname varchar(255) DEFAULT NULL COMMENT 日志名称, userid int(65) DEFAULT NULL COMMENT 用户id, classname varchar(255) DEFAULT NULL COMMENT 类名称, method text COMMENT 方法名称, createtime datetime DEFAULT NULL COMMENT 创建时间, succeed varchar(255) DEFAULT NULL COMMENT 是否成功, message text COMMENT 备注, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT550 DEFAULT CHARSETutf8 COMMENT操作日志;操作日志记录用户操作的类名、方法名、操作结果等详细信息便于系统操作审计和问题追踪。九、通知管理模块sys_notice通知管理模块用于系统公告和消息的发布与管理。表结构如下CREATE TABLE sys_notice ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键, title varchar(255) DEFAULT NULL COMMENT 标题, type int(11) DEFAULT NULL COMMENT 类型, content text COMMENT 内容, createtime datetime DEFAULT NULL COMMENT 创建时间, creater int(11) DEFAULT NULL COMMENT 创建人, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT9 DEFAULT CHARSETutf8 COMMENT通知表;通知表存储系统公告的标题、内容、创建时间等信息支持不同类型的通知管理。十、业务测试模块test业务测试模块是一个示例模块展示如何扩展Guns系统的业务功能。表结构如下CREATE TABLE test ( id int(11) NOT NULL, value varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;该模块作为业务扩展的示例开发者可以参考此模块的设计方式扩展自己的业务功能。总结Guns项目的数据库设计遵循了以下原则模块化设计每个模块对应独立的表结构采用树形结构实现层级关系如部门、菜单、字典等基于RBAC模型设计权限系统通过角色菜单关联表实现权限控制完善的日志记录支持系统审计和问题追踪通过本文的详细解析相信开发者已经对Guns项目的数据库设计有了全面的了解。这些核心模块的表结构设计可以作为后台管理系统的通用设计参考帮助开发者快速构建自己的业务系统。要开始使用Guns项目只需执行以下命令克隆仓库git clone https://gitcode.com/gh_mirrors/gun/guns然后参考项目中的SQL文件sql/guns.sql和sql/biz.sql创建数据库表结构即可快速搭建起一个功能完善的后台管理系统。【免费下载链接】gunsGuns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc shiro 分页插件PageHelper 通用Mapper beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架.项目地址: https://gitcode.com/gh_mirrors/gun/guns创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考