Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableCourse.sql

98 lines
5.1 KiB
MySQL
Raw Normal View History

2025-10-15 10:39:51 +08:00
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` (
2025-10-21 16:21:19 +08:00
`id` VARCHAR(50) NOT NULL COMMENT 'ID',
`chapter_id` VARCHAR(50) NOT NULL COMMENT '章节唯一标识',
2025-10-15 10:39:51 +08:00
`course_id` VARCHAR(50) NOT NULL COMMENT '课程ID',
2025-10-21 16:21:19 +08:00
`parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父章节ID',
2025-10-15 10:39:51 +08:00
`name` VARCHAR(255) NOT NULL COMMENT '章节名称',
`content` LONGTEXT COMMENT '章节内容',
2025-10-21 16:21:19 +08:00
`chapter_type` INT(4) DEFAULT 0 COMMENT '章节类型1视频 2文档 3音频',
`resource_id` VARCHAR(50) DEFAULT NULL COMMENT '资源ID',
2025-10-15 10:39:51 +08:00
`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`),
2025-10-21 16:21:19 +08:00
KEY `idx_parent` (`parent_id`),
2025-10-15 10:39:51 +08:00
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 '创建时间',
2025-10-22 17:57:30 +08:00
`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 '是否删除',
2025-10-15 10:39:51 +08:00
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='课程标签关联表';
2025-10-21 16:21:19 +08:00
-- 学习节点表
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选修',
`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='学习节点表';