Skip to content

示例模块数据库详细版

示例模块用于演示树结构、一对多、代码生成等常见建模套路,适合理解框架风格。

模块关系总览

核心关系链:yudao_demo02_category 展示树结构,yudao_demo03_student -> yudao_demo03_grade / yudao_demo03_course 展示一对多。

表清单

  • yudao_demo01_contact(示例联系人表)
  • yudao_demo02_category(示例分类表)
  • yudao_demo03_course(学生课程表)
  • yudao_demo03_grade(学生班级表)
  • yudao_demo03_student(学生表)

yudao_demo01_contact

  • 表中文名:示例联系人表
  • 表类型:主表
  • 来源脚本:sql/mysql/ruoyi-vue-pro.sql
  • 代码入口:Demo01ContactDO,路径 /yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
namevarchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NOT NULL名字名称字段,通常是业务对象的可读展示名。
sextinyint(1) NOT NULLNOT NULL性别业务字段,需结合具体模块功能理解。
birthdaydatetime NOT NULLNOT NULL出生年业务字段,需结合具体模块功能理解。
descriptionvarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL简介业务字段,需结合具体模块功能理解。
avatarvarchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL头像业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

yudao_demo02_category

  • 表中文名:示例分类表
  • 表类型:树形主表
  • 来源脚本:sql/mysql/ruoyi-vue-pro.sql
  • 代码入口:Demo02CategoryDO,路径 /yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • parent_id:自关联同表主键,用于树形层级。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
namevarchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NOT NULL名字名称字段,通常是业务对象的可读展示名。
parent_idbigint NOT NULLNOT NULL父级编号父级主键,常用于树形结构。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

树形结构单独成表后,层级扩展、递归查询、上下级展示都会更自然。

yudao_demo03_course

  • 表中文名:学生课程表
  • 表类型:主表
  • 来源脚本:sql/mysql/ruoyi-vue-pro.sql
  • 代码入口:Demo03CourseDO,路径 /yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
student_idbigint NOT NULLNOT NULL学生编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
namevarchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NOT NULL名字名称字段,通常是业务对象的可读展示名。
scoretinyint NOT NULLNOT NULL分数业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

yudao_demo03_grade

  • 表中文名:学生班级表
  • 表类型:主表
  • 来源脚本:sql/mysql/ruoyi-vue-pro.sql
  • 代码入口:Demo03GradeDO,路径 /yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
student_idbigint NOT NULLNOT NULL学生编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
namevarchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NOT NULL名字名称字段,通常是业务对象的可读展示名。
teachervarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL班主任业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

yudao_demo03_student

  • 表中文名:学生表
  • 表类型:主表
  • 来源脚本:sql/mysql/ruoyi-vue-pro.sql
  • 代码入口:Demo03StudentDO,路径 /yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
namevarchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ''NOT NULL名字名称字段,通常是业务对象的可读展示名。
sextinyint NOT NULLNOT NULL性别业务字段,需结合具体模块功能理解。
birthdaydatetime NOT NULLNOT NULL出生日期业务字段,需结合具体模块功能理解。
descriptionvarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL简介业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

Lucking