Skip to content

业务数据字典

文档编号: SYS-DB-DICT-002
版本: 1.0
日期: 2026-03-08
作者: 数据库架构师
状态: ✅ 已评审


一、概述

1.1 文档目的

本文档定义System平台业务级数据字典,包括用户管理、权限管理、组织管理等核心业务模块的数据详细说明。

1.2 适用范围

适用于System平台所有业务模块的数据管理。

1.3 数据分类

分类说明包含表
用户管理用户信息和关系sys_user, sys_user_role, sys_user_dept
权限管理角色权限配置sys_role, sys_role_permission, sys_permission, sys_menu
组织管理组织架构信息sys_dept, sys_position, sys_employee

二、用户管理表字典

2.1 用户表 (sys_user)

表说明: 存储系统用户的基本信息

2.1.1 表基本信息

属性
表名sys_user
中文名用户表
存储引擎InnoDB
字符集utf8mb4

2.1.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增用户ID主键
usernameVARCHAR(50)-用户名登录账号,唯一
passwordVARCHAR(100)-密码BCrypt加密存储
nicknameVARCHAR(50)NULL昵称显示名称
emailVARCHAR(100)NULL邮箱唯一,可用于登录
phoneVARCHAR(20)NULL手机号唯一,可用于登录
avatarVARCHAR(200)NULL头像头像图片URL
statusTINYINT1状态0-禁用, 1-启用
genderTINYINT0性别0-未知, 1-男, 2-女
employee_noVARCHAR(50)NULL员工编号关联员工,唯一
dept_idBIGINTNULL主属部门ID外键:sys_dept.id
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

2.1.3 枚举值定义

status(用户状态):

标签说明
0禁用账号被禁用,无法登录
1启用账号正常可用

gender(性别):

标签说明
0未知未设置性别
1男性
2女性

2.1.4 业务规则

  1. 用户名规则: 3-20个字符,支持字母、数字、下划线,必须以字母开头
  2. 密码规则: 8-20个字符,必须包含字母和数字
  3. 邮箱规则: 符合邮箱格式,全局唯一
  4. 手机号规则: 符合手机号格式,全局唯一
  5. 员工编号: 关联sys_employee表,一个用户最多关联一个员工

2.2 用户角色关系表 (sys_user_role)

表说明: 用户与角色的多对多关系

2.2.1 表基本信息

属性
表名sys_user_role
中文名用户角色关系表
存储引擎InnoDB
字符集utf8mb4

2.2.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增关系ID主键
user_idBIGINT-用户ID外键:sys_user.id
role_idBIGINT-角色ID外键:sys_role.id
is_primaryTINYINT0是否主角色0-否, 1-是
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
create_byBIGINTNULL创建人ID-
tenant_idBIGINT-租户ID当前租户标识

2.2.3 枚举值定义

is_primary(是否主角色):

标签说明
0普通角色
1主角色,用于数据权限判断

2.2.4 业务规则

  1. 一个用户可以有多个角色
  2. 一个角色可以分配给多个用户
  3. 一个用户只能有一个主角色(is_primary=1)
  4. 用户-角色组合唯一

2.3 用户部门关系表 (sys_user_dept)

表说明: 用户与部门的多对多关系

2.3.1 表基本信息

属性
表名sys_user_dept
中文名用户部门关系表
存储引擎InnoDB
字符集utf8mb4

2.3.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增关系ID主键
user_idBIGINT-用户ID外键:sys_user.id
dept_idBIGINT-部门ID外键:sys_dept.id
is_primaryTINYINT0是否主部门0-否, 1-是
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
create_byBIGINTNULL创建人ID-
tenant_idBIGINT-租户ID当前租户标识

2.3.3 枚举值定义

is_primary(是否主部门):

标签说明
0兼职部门
1主属部门

2.3.4 业务规则

  1. 一个用户可以属于多个部门
  2. 一个部门可以有多个用户
  3. 一个用户只能有一个主部门(is_primary=1)
  4. 用户-部门组合唯一

三、权限管理表字典

3.1 角色表 (sys_role)

表说明: 系统角色定义

3.1.1 表基本信息

属性
表名sys_role
中文名角色表
存储引擎InnoDB
字符集utf8mb4

3.1.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增角色ID主键
role_codeVARCHAR(50)-角色编码唯一标识
role_nameVARCHAR(50)-角色名称显示名称
role_typeTINYINT2角色类型1-系统角色, 2-业务角色
data_scopeTINYINT1数据范围见枚举值
statusTINYINT1状态0-禁用, 1-启用
sort_orderINT0排序号显示顺序
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

3.1.3 枚举值定义

role_type(角色类型):

标签说明
1系统角色系统预置角色,不可删除
2业务角色用户自定义角色

data_scope(数据范围):

标签说明
1全部数据可查看所有数据
2本部门数据仅可查看本部门数据
3本部门及子部门可查看本部门及子部门数据
4仅本人数据仅可查看自己的数据
5自定义自定义数据范围

status(角色状态):

标签说明
0禁用角色被禁用
1启用角色正常可用

3.1.4 系统预置角色

角色编码角色名称角色类型数据范围
super_admin超级管理员系统角色全部数据
tenant_admin租户管理员系统角色全部数据
dept_manager部门经理业务角色本部门及子部门
normal_user普通用户业务角色仅本人数据

3.2 角色权限关系表 (sys_role_permission)

表说明: 角色与权限的多对多关系

3.2.1 表基本信息

属性
表名sys_role_permission
中文名角色权限关系表
存储引擎InnoDB
字符集utf8mb4

3.2.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增关系ID主键
role_idBIGINT-角色ID外键:sys_role.id
permission_idBIGINT-权限ID外键:sys_permission.id
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
create_byBIGINTNULL创建人ID-

3.2.3 业务规则

  1. 一个角色可以有多个权限
  2. 一个权限可以分配给多个角色
  3. 角色-权限组合唯一

3.3 权限表 (sys_permission)

表说明: 系统权限定义

3.3.1 表基本信息

属性
表名sys_permission
中文名权限表
存储引擎InnoDB
字符集utf8mb4

3.3.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增权限ID主键
perm_codeVARCHAR(100)-权限编码唯一标识
perm_nameVARCHAR(50)-权限名称显示名称
resource_typeTINYINT-资源类型见枚举值
resource_urlVARCHAR(200)NULL资源URLAPI路径或页面路径
http_methodVARCHAR(10)NULLHTTP方法GET/POST/PUT/DELETE
parent_idBIGINT0父权限ID0表示根权限
sort_orderINT0排序号显示顺序
statusTINYINT1状态0-禁用, 1-启用
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-

3.3.3 枚举值定义

resource_type(资源类型):

标签说明
1菜单页面菜单权限
2按钮页面按钮权限
3接口API接口权限

status(权限状态):

标签说明
0禁用权限被禁用
1启用权限正常可用

3.4 菜单表 (sys_menu)

表说明: 系统菜单定义

3.4.1 表基本信息

属性
表名sys_menu
中文名菜单表
存储引擎InnoDB
字符集utf8mb4

3.4.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增菜单ID主键
menu_nameVARCHAR(50)-菜单名称显示名称
menu_typeTINYINT-菜单类型见枚举值
iconVARCHAR(100)NULL菜单图标图标类名
pathVARCHAR(200)NULL路由路径前端路由
componentVARCHAR(200)NULL组件路径前端组件
permissionVARCHAR(100)NULL权限标识对应权限编码
parent_idBIGINT0父菜单ID0表示根菜单
menu_levelINT1菜单层级1-3级
sort_orderINT0排序号显示顺序
is_cacheTINYINT0是否缓存0-否, 1-是
is_visibleTINYINT1是否可见0-否, 1-是
statusTINYINT1状态0-禁用, 1-启用
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

3.4.3 枚举值定义

menu_type(菜单类型):

标签说明
1目录菜单目录,可展开
2菜单页面菜单,可点击
3按钮页面按钮权限

is_cache(是否缓存):

标签说明
0不缓存页面
1缓存页面

is_visible(是否可见):

标签说明
0隐藏菜单
1显示菜单

四、组织管理表字典

4.1 部门表 (sys_dept)

表说明: 组织架构部门

4.1.1 表基本信息

属性
表名sys_dept
中文名部门表
存储引擎InnoDB
字符集utf8mb4

4.1.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增部门ID主键
dept_codeVARCHAR(50)-部门编码唯一标识
dept_nameVARCHAR(50)-部门名称显示名称
parent_idBIGINT0父部门ID0表示根部门
ancestorsVARCHAR(500)NULL祖先路径如:0,1,2,
dept_levelINT1部门层级1-N级
leader_idBIGINTNULL负责人ID外键:sys_user.id
sort_orderINT0排序号显示顺序
statusTINYINT1状态0-禁用, 1-启用
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

4.1.3 枚举值定义

status(部门状态):

标签说明
0禁用部门被禁用
1启用部门正常可用

4.1.4 业务规则

  1. 部门编码唯一,建议使用层级编码(如:01, 0101, 0102)
  2. 支持多级部门结构
  3. ancestors字段存储完整路径,便于查询
  4. 删除部门前需确保无子部门和员工

4.2 岗位表 (sys_position)

表说明: 岗位定义

4.2.1 表基本信息

属性
表名sys_position
中文名岗位表
存储引擎InnoDB
字符集utf8mb4

4.2.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增岗位ID主键
position_codeVARCHAR(50)-岗位编码唯一标识
position_nameVARCHAR(50)-岗位名称显示名称
position_levelINTNULL岗位级别数字越小级别越高
statusTINYINT1状态0-禁用, 1-启用
sort_orderINT0排序号显示顺序
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

4.2.3 枚举值定义

status(岗位状态):

标签说明
0禁用岗位被禁用
1启用岗位正常可用

4.2.4 业务规则

  1. 岗位编码唯一
  2. 岗位级别数字越小级别越高(如:1-总裁,2-总监,3-经理)
  3. 岗位与部门独立,一个岗位可属于多个部门

4.3 员工表 (sys_employee)

表说明: 员工信息

4.3.1 表基本信息

属性
表名sys_employee
中文名员工表
存储引擎InnoDB
字符集utf8mb4

4.3.2 字段字典

字段名数据类型可空默认值说明业务规则
idBIGINT自增员工ID主键
employee_noVARCHAR(50)-员工编号唯一标识
employee_nameVARCHAR(50)-员工姓名真实姓名
user_idBIGINTNULL关联用户ID外键:sys_user.id,唯一
dept_idBIGINT-所属部门ID外键:sys_dept.id
position_idBIGINTNULL岗位ID外键:sys_position.id
genderTINYINT0性别0-未知, 1-男, 2-女
birthdayDATENULL出生日期-
id_cardVARCHAR(100)NULL身份证号加密存储
phoneVARCHAR(20)NULL联系电话-
emailVARCHAR(100)NULL邮箱-
entry_dateDATENULL入职日期-
leave_dateDATENULL离职日期-
employment_statusTINYINT1在职状态见枚举值
work_locationVARCHAR(100)NULL工作地点-
addressVARCHAR(200)NULL家庭住址-
emergency_contactVARCHAR(50)NULL紧急联系人-
emergency_phoneVARCHAR(20)NULL紧急联系电话-
remarkVARCHAR(500)NULL备注-
create_timeDATETIMECURRENT_TIMESTAMP创建时间-
update_timeDATETIMECURRENT_TIMESTAMP更新时间-
create_byBIGINTNULL创建人ID-
update_byBIGINTNULL更新人ID-
deletedTINYINT0删除标志0-正常, 1-删除
tenant_idBIGINT-租户ID当前租户标识

4.3.3 枚举值定义

gender(性别):

标签说明
0未知未设置性别
1男性
2女性

employment_status(在职状态):

标签说明
1在职正常在职
2离职已离职
3试用期试用期内
4实习实习期
5停薪留职停薪留职

4.3.4 业务规则

  1. 员工编号唯一,建议使用工号规则(如:年份+序号)
  2. 一个员工最多关联一个用户账号(1:1或1:0)
  3. 身份证号加密存储,确保隐私安全
  4. 离职后保留员工信息,但标记为离职状态

五、数据字典统计

5.1 表统计

类别表数量字段总数枚举值数量
用户管理3486
权限管理45618
组织管理3548
总计1015832

5.2 关系统计

关系类型数量说明
1:11用户-员工
1:N12部门-用户、角色-用户等
M:N3用户-角色、用户-部门、角色-权限

六、审核记录

6.1 审核状态

审核项状态审核人审核日期
用户管理表字典✓ 通过技术负责人2026-03-08
权限管理表字典✓ 通过技术负责人2026-03-08
组织管理表字典✓ 通过技术负责人2026-03-08
枚举值定义✓ 通过技术负责人2026-03-08
业务规则完整性✓ 通过技术负责人2026-03-08

6.2 签字确认

角色姓名签字日期
编制人数据库架构师_____________2026-03-08
审核人技术负责人_____________2026-03-08
批准人项目经理_____________2026-03-08

七、修订记录

版本日期作者变更内容
1.02026-03-08数据库架构师初始版本,创建业务数据字典

Released under the MIT License.