2525 * 对因使用本软件内容而导致的任何直接或间接的损失不承担任何责任。
2626 * --------------------------------------------------------------------------------
2727 */
28-
29- /*
30- * --------------------------------------------------------------------------------
31- * Copyright (c) 2022-NOW(至今) 锋楪技术团队
32- * Author: 锋楪技术团队 (https://www.frontleaves.com)
33- *
34- * 本文件包含锋楪技术团队项目的源代码,项目的所有源代码均遵循 MIT 开源许可证协议。
35- * --------------------------------------------------------------------------------
36- * 许可证声明:
37- *
38- * 版权所有 (c) 2022-2025 锋楪技术团队。保留所有权利。
39- *
40- * 本软件是“按原样”提供的,没有任何形式的明示或暗示的保证,包括但不限于
41- * 对适销性、特定用途的适用性和非侵权性的暗示保证。在任何情况下,
42- * 作者或版权持有人均不承担因软件或软件的使用或其他交易而产生的、
43- * 由此引起的或以任何方式与此软件有关的任何索赔、损害或其他责任。
44- *
45- * 使用本软件即表示您了解此声明并同意其条款。
46- *
47- * 有关 MIT 许可证的更多信息,请查看项目根目录下的 LICENSE 文件或访问:
48- * https://opensource.org/licenses/MIT
49- * --------------------------------------------------------------------------------
50- * 免责声明:
51- *
52- * 使用本软件的风险由用户自担。作者或版权持有人在法律允许的最大范围内,
53- * 对因使用本软件内容而导致的任何直接或间接的损失不承担任何责任。
54- * --------------------------------------------------------------------------------
55- */
56-
5728USE ` class-scheduling-system` ;
58- CREATE TABLE `cs_course_library `
59- (
60- ` course_library_uuid` CHAR (32 ) NOT NULL PRIMARY KEY COMMENT ' 课程库主键' ,
61- ` id` VARCHAR (32 ) NOT NULL COMMENT ' 课程编号' ,
62- ` name` VARCHAR (32 ) NOT NULL COMMENT ' 课程库名称' ,
29+ CREATE TABLE `cs_course_library ` (
30+ ` course_library_uuid` CHAR (32 ) NOT NULL PRIMARY KEY COMMENT ' 课程库主键' ,
31+ ` id` VARCHAR (32 ) NOT NULL COMMENT ' 课程编号' ,
32+ ` name` VARCHAR (32 ) NOT NULL COMMENT ' 课程库名称' ,
6333 ` english_name` VARCHAR (128 ) NULL COMMENT ' 课程英文名称' ,
64- ` category` CHAR (32 ) NULL COMMENT ' 课程类别' ,
65- ` property` CHAR (32 ) NULL COMMENT ' 课程属性' ,
66- ` type` CHAR (32 ) NOT NULL COMMENT ' 课程类型' ,
67- ` nature` CHAR (32 ) NULL COMMENT ' 课程性质' ,
68- ` department` CHAR (32 ) NOT NULL COMMENT ' 开课学院' ,
69- ` is_enabled` BOOLEAN NOT NULL DEFAULT TRUE COMMENT ' 是否启用' ,
70- ` total_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 总学时' ,
71- ` week_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 周学时' ,
72- ` theory_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 理论学时' ,
73- ` experiment_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 实验学时' ,
74- ` practice_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 实践学时' ,
75- ` computer_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 上机学时' ,
76- ` other_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 其他学时' ,
77- ` credit` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 学分' ,
78- ` description ` TEXT NULL COMMENT ' 课程库描述 ' ,
79- ` edit_user ` CHAR (32 ) NULL COMMENT ' 编辑人 ' ,
80- ` created_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
81- ` updated_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 '
82- ) ENGINE = InnoDB
83- DEFAULT CHARSET = utf8mb4
84- COLLATE = utf8mb4_unicode_ci
85- COMMENT = ' 课程库表 ' ;
86-
34+ ` category` CHAR (32 ) NULL COMMENT ' 课程类别' ,
35+ ` property` CHAR (32 ) NULL COMMENT ' 课程属性' ,
36+ ` type` CHAR (32 ) NOT NULL COMMENT ' 课程类型' ,
37+ ` nature` CHAR (32 ) NULL COMMENT ' 课程性质' ,
38+ ` department` CHAR (32 ) NOT NULL COMMENT ' 开课学院' ,
39+ ` is_enabled` BOOLEAN NOT NULL DEFAULT TRUE COMMENT ' 是否启用' ,
40+ ` total_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 总学时' ,
41+ ` week_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 周学时' ,
42+ ` theory_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 理论学时' ,
43+ ` experiment_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 实验学时' ,
44+ ` practice_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 实践学时' ,
45+ ` computer_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 上机学时' ,
46+ ` other_hours` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 其他学时' ,
47+ ` credit` DECIMAL (10 , 2 ) NOT NULL DEFAULT 0 COMMENT ' 学分' ,
48+ ` theory_classroom_type ` CHAR ( 32 ) NULL COMMENT ' 理论课教室类型 ' ,
49+ ` experiment_classroom_type ` CHAR (32 ) NULL COMMENT ' 实验课教室类型 ' ,
50+ ` practice_classroom_type ` CHAR ( 32 ) NULL COMMENT ' 实践课教室类型 ' ,
51+ ` computer_classroom_type ` CHAR ( 32 ) NULL COMMENT ' 上机课教室类型 ' ,
52+ ` description ` TEXT NULL COMMENT ' 课程库描述 ' ,
53+ ` edit_user ` CHAR ( 32 ) NULL COMMENT ' 编辑人 ' ,
54+ ` created_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' ,
55+ ` updated_at ` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间 '
56+ ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = ' 课程库表 ' ;
8757CREATE UNIQUE INDEX `uk_course_library_id ` ON ` cs_course_library` (` id` ) COMMENT ' 课程编号唯一索引' ;
88-
8958-- 添加优化查询的索引
9059CREATE INDEX `idx_course_library_department ` ON ` cs_course_library` (` department` ) COMMENT ' 开课学院索引' ;
9160CREATE INDEX `idx_course_library_type ` ON ` cs_course_library` (` type` ) COMMENT ' 课程类型索引' ;
9261CREATE INDEX `idx_course_library_category ` ON ` cs_course_library` (` category` ) COMMENT ' 课程类别索引' ;
9362CREATE INDEX `idx_course_library_nature ` ON ` cs_course_library` (` nature` ) COMMENT ' 课程性质索引' ;
9463CREATE INDEX `idx_course_library_is_enabled ` ON ` cs_course_library` (` is_enabled` ) COMMENT ' 启用状态索引' ;
9564CREATE INDEX `idx_course_library_credit ` ON ` cs_course_library` (` credit` ) COMMENT ' 学分索引' ;
96-
65+ CREATE INDEX `idx_course_library_theory_classroom_type ` ON ` cs_course_library` (` theory_classroom_type` ) COMMENT ' 理论课教室类型索引' ;
66+ CREATE INDEX `idx_course_library_experiment_classroom_type ` ON ` cs_course_library` (` experiment_classroom_type` ) COMMENT ' 实验课教室类型索引' ;
67+ CREATE INDEX `idx_course_library_practice_classroom_type ` ON ` cs_course_library` (` practice_classroom_type` ) COMMENT ' 实践课教室类型索引' ;
68+ CREATE INDEX `idx_course_library_computer_classroom_type ` ON ` cs_course_library` (` computer_classroom_type` ) COMMENT ' 上机课教室类型索引' ;
9769ALTER TABLE ` cs_course_library`
98- ADD CONSTRAINT ` fk_course_library_category `
99- FOREIGN KEY ( ` category ` ) REFERENCES ` cs_course_category ` ( ` course_category_uuid ` )
100- ON DELETE SET NULL ON UPDATE CASCADE,
101- ADD CONSTRAINT ` fk_course_library_property `
102- FOREIGN KEY (` property ` ) REFERENCES ` cs_course_property ` (` course_property_uuid ` )
103- ON DELETE SET NULL ON UPDATE CASCADE,
104- ADD CONSTRAINT ` fk_course_library_type `
105- FOREIGN KEY (` type ` ) REFERENCES ` cs_course_type ` (` course_type_uuid ` )
106- ON DELETE RESTRICT ON UPDATE CASCADE,
107- ADD CONSTRAINT ` fk_course_library_nature `
108- FOREIGN KEY (` nature ` ) REFERENCES ` cs_course_nature ` (` course_nature_uuid ` )
109- ON DELETE SET NULL ON UPDATE CASCADE,
110- ADD CONSTRAINT ` fk_course_library_department `
111- FOREIGN KEY ( ` department ` ) REFERENCES ` cs_department ` ( ` department_uuid ` )
112- ON DELETE RESTRICT ON UPDATE CASCADE,
113- ADD CONSTRAINT ` fk_course_library_edit_user `
114- FOREIGN KEY (` edit_user ` ) REFERENCES ` cs_user ` (` user_uuid ` )
115- ON DELETE SET NULL ON UPDATE CASCADE;
70+ ADD CONSTRAINT ` fk_course_library_category ` FOREIGN KEY ( ` category ` ) REFERENCES ` cs_course_category ` ( ` course_category_uuid ` ) ON DELETE
71+ SET NULL ON UPDATE CASCADE,
72+ ADD CONSTRAINT ` fk_course_library_property ` FOREIGN KEY ( ` property ` ) REFERENCES ` cs_course_property ` ( ` course_property_uuid ` ) ON DELETE
73+ SET NULL ON UPDATE CASCADE,
74+ ADD CONSTRAINT ` fk_course_library_type ` FOREIGN KEY (` type ` ) REFERENCES ` cs_course_type ` (` course_type_uuid ` ) ON DELETE RESTRICT ON UPDATE CASCADE,
75+ ADD CONSTRAINT ` fk_course_library_nature ` FOREIGN KEY ( ` nature ` ) REFERENCES ` cs_course_nature ` ( ` course_nature_uuid ` ) ON DELETE
76+ SET NULL ON UPDATE CASCADE,
77+ ADD CONSTRAINT ` fk_course_library_department ` FOREIGN KEY (` department ` ) REFERENCES ` cs_department ` (` department_uuid ` ) ON DELETE RESTRICT ON UPDATE CASCADE,
78+ ADD CONSTRAINT ` fk_course_library_edit_user ` FOREIGN KEY ( ` edit_user ` ) REFERENCES ` cs_user ` ( ` user_uuid ` ) ON DELETE
79+ SET NULL ON UPDATE CASCADE,
80+ ADD CONSTRAINT ` fk_course_library_theory_classroom_type ` FOREIGN KEY (` theory_classroom_type ` ) REFERENCES ` cs_classroom_type ` (` class_type_uuid ` ) ON DELETE
81+ SET NULL ON UPDATE CASCADE,
82+ ADD CONSTRAINT ` fk_course_library_experiment_classroom_type ` FOREIGN KEY ( ` experiment_classroom_type ` ) REFERENCES ` cs_classroom_type ` ( ` class_type_uuid ` ) ON DELETE
83+ SET NULL ON UPDATE CASCADE,
84+ ADD CONSTRAINT ` fk_course_library_practice_classroom_type ` FOREIGN KEY ( ` practice_classroom_type ` ) REFERENCES ` cs_classroom_type ` ( ` class_type_uuid ` ) ON DELETE
85+ SET NULL ON UPDATE CASCADE,
86+ ADD CONSTRAINT ` fk_course_library_computer_classroom_type ` FOREIGN KEY (` computer_classroom_type ` ) REFERENCES ` cs_classroom_type ` (` class_type_uuid ` ) ON DELETE
87+ SET NULL ON UPDATE CASCADE;
0 commit comments