ruoyi-vue
五张表关系的Mermaid ER图代码
erDiagram
%% 用户信息表
sys_user {
bigint(20) user_id PK "用户ID(主键)"
bigint(20) dept_id "部门ID"
varchar(30) user_name "用户账号"
varchar(30) nick_name "用户昵称"
varchar(2) user_type "用户类型(00系统用户)"
varchar(50) email "用户邮箱"
varchar(11) phonenumber "手机号码"
char(1) sex "用户性别(0男 1女 2未知)"
varchar(100) avatar "头像地址"
varchar(100) password "密码"
char(1) status "帐号状态(0正常 1停用)"
char(1) del_flag "删除标志(0代表存在 2代表删除)"
varchar(128) login_ip "最后登录IP"
datetime login_date "最后登录时间"
varchar(64) create_by "创建者"
datetime create_time "创建时间"
varchar(64) update_by "更新者"
datetime update_time "更新时间"
varchar(500) remark "备注"
}
%% 用户角色关联表(中间表)
sys_user_role {
bigint(20) user_id FK "用户ID(联合主键/外键)"
bigint(20) role_id FK "角色ID(联合主键/外键)"
}
%% 角色信息表
sys_role {
bigint(20) role_id PK "角色ID(主键)"
varchar(30) role_name "角色名称"
varchar(100) role_key "角色权限字符串"
int(4) role_sort "显示顺序"
char(1) data_scope "数据范围(1:全部 2:自定 3:本部门 4:本部门及以下)"
tinyint(1) menu_check_strictly "菜单树选择项是否关联显示"
tinyint(1) dept_check_strictly "部门树选择项是否关联显示"
char(1) status "角色状态(0正常 1停用)"
char(1) del_flag "删除标志(0代表存在 2代表删除)"
varchar(64) create_by "创建者"
datetime create_time "创建时间"
varchar(64) update_by "更新者"
datetime update_time "更新时间"
varchar(500) remark "备注"
}
%% 角色菜单关联表(中间表)
sys_role_menu {
bigint(20) role_id FK "角色ID(联合主键/外键)"
bigint(20) menu_id FK "菜单ID(联合主键/外键)"
}
%% 菜单权限表
sys_menu {
bigint(20) menu_id PK "菜单ID(主键)"
varchar(50) menu_name "菜单名称"
bigint(20) parent_id "父菜单ID"
int(4) order_num "显示顺序"
varchar(200) path "路由地址"
varchar(255) component "组件路径"
varchar(255) query "路由参数"
int(1) is_frame "是否为外链(0是 1否)"
int(1) is_cache "是否缓存(0缓存 1不缓存)"
char(1) menu_type "菜单类型(M目录 C菜单 F按钮)"
char(1) visible "菜单状态(0显示 1隐藏)"
char(1) status "菜单状态(0正常 1停用)"
varchar(100) perms "权限标识"
varchar(100) icon "菜单图标"
varchar(64) create_by "创建者"
datetime create_time "创建时间"
varchar(64) update_by "更新者"
datetime update_time "更新时间"
varchar(500) remark "备注"
}
%% 定义关联关系
%% 用户与角色:多对多,通过sys_user_role关联
sys_user ||--o{ sys_user_role : "关联"
sys_role ||--o{ sys_user_role : "关联"
%% 角色与菜单:多对多,通过sys_role_menu关联
sys_role ||--o{ sys_role_menu : "关联"
sys_menu ||--o{ sys_role_menu : "关联"
使用说明
- 关系说明:
||--o{表示一对多关系,中间表与主表的关联关系通过该符号体现- 最终形成
sys_user(多)↔sys_user_role(中间表)↔sys_role(多)、sys_role(多)↔sys_role_menu(中间表)↔sys_menu(多)的多对多关联链
用户表 ↔ 用户角色关联表:sys_user.user_id = sys_user_role.user_id,一对多关系(一个用户可关联多个角色)。
用户角色关联表 ↔ 角色表:sys_user_role.role_id = sys_role.role_id,多对一关系(多个用户可关联同一个角色)。
角色表 ↔ 角色菜单关联表:sys_role.role_id = sys_role_menu.role_id,一对多关系(一个角色可关联多个菜单)。
角色菜单关联表 ↔ 菜单权限表:sys_role_menu.menu_id = sys_menu.menu_id,多对一关系(多个角色可关联同一个菜单)。
- 字段标识:
PK标注主键,FK标注外键
加油啦!加油鸭,冲鸭!!!

浙公网安备 33010602011771号