Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableCourse.sql
2025-11-19 15:11:30 +08:00

99 lines
5.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use school_news;
-- 课程表
DROP TABLE IF EXISTS `tb_course`;
CREATE TABLE `tb_course` (
`id` VARCHAR(50) NOT NULL COMMENT '课程ID',
`course_id` VARCHAR(50) NOT NULL COMMENT '课程唯一标识',
`name` VARCHAR(255) NOT NULL COMMENT '课程名称',
`cover_image` VARCHAR(255) DEFAULT NULL COMMENT '课程封面图片',
`description` TEXT COMMENT '课程描述',
`content` LONGTEXT COMMENT '课程内容',
`duration` INT(11) DEFAULT 0 COMMENT '课程时长(分钟)',
`teacher` VARCHAR(100) DEFAULT NULL COMMENT '授课老师',
`status` INT(4) DEFAULT 0 COMMENT '状态0未上线 1已上线 2已下架',
`view_count` INT(11) DEFAULT 0 COMMENT '浏览次数',
`learn_count` INT(11) DEFAULT 0 COMMENT '学习人数',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_course_id` (`course_id`),
KEY `idx_status` (`status`),
KEY `idx_view_count` (`view_count`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='课程表';
-- 课程章节表
DROP TABLE IF EXISTS `tb_course_chapter`;
CREATE TABLE `tb_course_chapter` (
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
`chapter_id` VARCHAR(50) NOT NULL COMMENT '章节唯一标识',
`course_id` VARCHAR(50) NOT NULL COMMENT '课程ID',
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父章节ID',
`name` VARCHAR(255) NOT NULL COMMENT '章节名称',
`content` LONGTEXT COMMENT '章节内容',
`chapter_type` INT(4) DEFAULT 0 COMMENT '章节类型1视频 2文档 3音频',
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
`video_url` VARCHAR(500) DEFAULT NULL COMMENT '视频URL',
`duration` INT(11) DEFAULT 0 COMMENT '章节时长(分钟)',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_course` (`course_id`),
KEY `idx_parent` (`parent_id`),
KEY `idx_order` (`order_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='课程章节表';
-- 课程标签关联表
DROP TABLE IF EXISTS `tb_course_tag`;
CREATE TABLE `tb_course_tag` (
`id` VARCHAR(50) NOT NULL COMMENT '关联ID',
`course_id` VARCHAR(50) NOT NULL COMMENT '课程ID',
`tag_id` VARCHAR(50) NOT NULL COMMENT '标签ID',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_course_tag` (`course_id`, `tag_id`),
KEY `idx_course` (`course_id`),
KEY `idx_tag` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='课程标签关联表';
-- 学习节点表
DROP TABLE IF EXISTS `tb_course_node`;
CREATE TABLE `tb_course_node` (
`id` VARCHAR(50) NOT NULL COMMENT '节点ID',
`chapter_id` VARCHAR(50) NOT NULL COMMENT '章节ID',
`node_id` VARCHAR(50) NOT NULL COMMENT '节点唯一标识',
`name` VARCHAR(255) NOT NULL COMMENT '节点名称',
`content` LONGTEXT COMMENT '节点内容',
`node_type` INT(4) DEFAULT 1 COMMENT '节点类型0文章资源 1富文本 2其他上传文件',
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
`video_url` VARCHAR(500) DEFAULT NULL COMMENT '视频URL',
`duration` INT(11) DEFAULT 0 COMMENT '节点时长(分钟)',
`order_num` INT(4) DEFAULT 0 COMMENT '排序号',
`is_required` TINYINT(1) DEFAULT 1 COMMENT '是否必修1必修 0选修',
`is_audited` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已审核',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_chapter` (`chapter_id`),
KEY `idx_order` (`order_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学习节点表';