由于水平原因,博客大部分内容摘抄于网络,如有错误或者侵权请指出,本人将尽快修改

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 标注外键
posted @ 2025-12-23 21:47  小纸条  阅读(2)  评论(0)    收藏  举报