更新 mysql.sql

master
wangsiyuan 2023-12-27 16:10:14 +08:00
parent 59dcdb8d13
commit c7a2d92d51
1 changed files with 226 additions and 92 deletions

246
mysql.sql
View File

@ -1,4 +1,5 @@
CREATE TABLE user ( CREATE TABLE user
(
user_id INT AUTO_INCREMENT PRIMARY KEY, user_id INT AUTO_INCREMENT PRIMARY KEY,
nickname VARCHAR(50) NOT NULL, nickname VARCHAR(50) NOT NULL,
phone_number VARCHAR(15) NOT NULL UNIQUE, phone_number VARCHAR(15) NOT NULL UNIQUE,
@ -7,14 +8,14 @@ CREATE TABLE user (
status BOOLEAN NOT NULL status BOOLEAN NOT NULL
); );
INSERT INTO user (nickname, phone_number, password, identity, status) VALUES INSERT INTO user (nickname, phone_number, password, identity, status)
('学生', '1', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'student', TRUE), VALUES ('学生', '1', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'student', TRUE),
('老师', '2', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'teacher', TRUE); ('老师', '2', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'teacher', TRUE);
CREATE TABLE menu_items
CREATE TABLE menu_items ( (
id INT AUTO_INCREMENT PRIMARY KEY, id INT AUTO_INCREMENT PRIMARY KEY,
menu_name VARCHAR(100), menu_name VARCHAR(100),
path VARCHAR(255), path VARCHAR(255),
@ -23,44 +24,65 @@ CREATE TABLE menu_items (
); );
INSERT INTO menu_items (menu_name, role, path, `order`) VALUES INSERT INTO menu_items (menu_name, role, path, `order`)
('课程信息', 'student', '/course-info', 1), VALUES ('课程信息', 'student', '/course-info', 1),
('课程签到', 'student', '/attendance', 2), ('课程签到', 'student', '/attendance', 2),
('公告信息', 'student', '/announcement', 3), ('公告信息', 'student', '/announcement', 3),
('签到提醒', 'student', '/attendance-reminder', 4); ('签到提醒', 'student', '/attendance-reminder', 4);
INSERT INTO menu_items (menu_name, role, path, `order`) VALUES INSERT INTO menu_items (menu_name, role, path, `order`)
('课程类别', 'teacher', '/course-category', 1), VALUES ('课程类别', 'teacher', '/course-category', 1),
('课程信息', 'teacher', '/course-info', 2), ('课程信息', 'teacher', '/course-info', 2),
('课程签到', 'teacher', '/attendance', 3), ('课程签到', 'teacher', '/attendance', 3),
('签到提醒', 'teacher', '/attendance-reminder', 4); ('签到提醒', 'teacher', '/attendance-reminder', 4);
CREATE TABLE courses ( CREATE TABLE course
(
course_id INT AUTO_INCREMENT PRIMARY KEY, course_id INT AUTO_INCREMENT PRIMARY KEY,
course_name VARCHAR(255) NOT NULL, course_name VARCHAR(255) NOT NULL,
course_code VARCHAR(50) NOT NULL, course_code VARCHAR(50) NOT NULL,
instructor_name VARCHAR(255) NOT NULL, course_type ENUM('选修', '必修') NOT NULL,
credits INT, credits INT,
description TEXT, description TEXT
attendance_info TEXT
); );
INSERT INTO courses (course_name, course_code, instructor_name, credits, description, attendance_info) VALUES INSERT INTO course (course_name, course_code, course_type, credits, description)
('高级数学', 'MTH101', 'John Doe', 4, '高级数学是一门研究数学理论的课程,包括微积分、线性代数等', 'JSON或其他格式的签到数据'), VALUES ('大学计算机基础', 'CF001', '必修', 3, '介绍计算机基础知识和应用'),
('物理学', 'PHY101', 'Jane Smith', 3, '物理学是自然科学的一部分,涉及物质和能量的性质和现象', 'JSON或其他格式的签到数据'), ('计算机导论', 'ITC002', '必修', 2, '概述计算机科学的基本概念和原理'),
('化学', 'CHEM101', 'Emily Davis', 4, '化学是研究物质的组成、结构、性质和变化规律的科学', 'JSON或其他格式的签到数据'), ('C++程序设计', 'CP001', '必修', 4, '学习C++编程语言及其应用'),
('英语', 'ENG101', 'Mark Wilson', 3, '英语课程旨在提高学生的语言技能,包括阅读、写作、听力和口语', 'JSON或其他格式的签到数据'), ('健康教育', 'HE001', '必修', 1, '提升学生的健康意识和生活方式'),
('生物学', 'BIO101', 'David Johnson', 3, '生物学是自然科学的一部分,研究生命和生物体', 'JSON或其他格式的签到数据'), ('线性代数及其应用', 'LAAA001', '必修', 4, '学习线性代数的基础理论和实际应用'),
('计算机科学', 'CS101', 'Alice Brown', 4, '计算机科学是研究信息和计算机系统的理论基础', 'JSON或其他格式的签到数据'), ('高等数学2A', 'AM_2A', '必修', 4, '深化数学知识,包括微积分、矩阵理论等'),
('心理学', 'PSY101', 'Chris Green', 3, '心理学是科学研究心理和行为的科学', 'JSON或其他格式的签到数据'), ('思想道德修养与法律基础', 'MALS001', '必修', 2, '培养学生的道德素质和法律意识'),
('历史', 'HIS101', 'Paula Adams', 2, '历史课程涵盖了世界历史的主要事件、人物和发展', 'JSON或其他格式的签到数据'), ('体育A', 'PE_A', '必修', 1, '提高学生的身体素质和运动技能'),
('艺术', 'ART101', 'Laura White', 2, '艺术课程探索各种艺术形式和表达方式', 'JSON或其他格式的签到数据'), ('英语读写译1A', 'ERWT_1A', '必修', 3, '提升学生的英语阅读、写作和翻译能力'),
('经济学', 'ECO101', 'Peter Parker', 3, '经济学是研究生产、分配和消费资源的社会科学', 'JSON或其他格式的签到数据'); ('英语听力1A', 'EL_1A', '必修', 2, '提高学生的英语听力理解能力'),
('英语口语1A', 'ES_1A', '必修', 2, '提升学生的英语口语表达能力'),
('法制安全教育', 'LASE001', '必修', 1, '增强学生的法制观念和安全意识'),
('大学二外日语A', 'JSFL_A', '选修', 3, '学习基础的日语语法和词汇'),
('军事理论', 'MT01', '必修', 2, '了解军事基本理论和国防知识'),
('程序设计实践', 'PP02', '必修', 3, '通过实践项目提升编程能力'),
('高等数学2B', 'AM_2B', '必修', 4, '进一步深化高等数学知识'),
('中国近现代史纲要', 'OFCMH010', '必修', 2, '概述中国近现代历史发展脉络'),
('体育B', 'PE_B', '必修', 1, '继续提升学生的身体素质和运动技能'),
('英语听力1B', 'EL_1B', '必修', 2, '进一步提高学生的英语听力理解能力'),
('英语读写译1B', 'ERWT_1B', '必修', 3, '深化英语阅读、写作和翻译能力'),
('英语口语1B', 'ES_1B', '必修', 2, '进一步提升学生的英语口语表达能力'),
('大学生心理健康', 'CSMH01', '必修', 2, '关注和提升大学生的心理健康水平'),
('大学物理2A', 'UP_2A', '必修', 4, '学习大学物理的基础理论和实验'),
('数字逻辑', 'DL002', '必修', 3, '学习数字电路和逻辑设计的基础知识'),
('C++面向对象程序设计', 'CPOB02', '必修', 4, '深入学习C++的面向对象特性及其应用'),
('创新人才与大学文化', 'IND010', '选修', 2, '探讨创新人才培养和大学文化建设'),
('数据结构', 'DS001', '必修', 4, '学习各种数据结构及其算法'),
('Java语言程序设计', 'JS012', '必修', 4, '学习Java编程语言及其应用'),
('离散数学导论', 'IDTM01', '必修', 3, '介绍离散数学的基础知识和应用'),
('计算机网络', 'CN002', '必修', 4, '学习计算机网络的基础理论和协议');
CREATE TABLE attendance_records ( CREATE TABLE attendance_records
(
record_id INT AUTO_INCREMENT PRIMARY KEY, record_id INT AUTO_INCREMENT PRIMARY KEY,
course_id INT NOT NULL, course_id INT NOT NULL,
student_id INT NOT NULL, student_id INT NOT NULL,
@ -70,28 +92,65 @@ CREATE TABLE attendance_records (
FOREIGN KEY (student_id) REFERENCES students (student_id) FOREIGN KEY (student_id) REFERENCES students (student_id)
); );
CREATE TABLE class_courses ( CREATE TABLE class_course
(
class_course_id INT AUTO_INCREMENT PRIMARY KEY, class_course_id INT AUTO_INCREMENT PRIMARY KEY,
class_id INT NOT NULL, class_id INT NOT NULL,
course_id INT NOT NULL, course_id INT NOT NULL,
user_id INT NOT NULL, FOREIGN KEY (class_id) REFERENCES class (class_id),
FOREIGN KEY (class_id) REFERENCES classes(class_id), FOREIGN KEY (course_id) REFERENCES course (course_id)
FOREIGN KEY (course_id) REFERENCES courses(course_id),
FOREIGN KEY (user_id) REFERENCES user(user_id),
); );
INSERT INTO class_courses(class_id,course_id,user_id) VALUES INSERT INTO class_course(class_id, course_id)
(1,2,2), VALUES (1, 1),
(1,3,2), (1, 2),
(2,6,2); (1, 3),
(1, 4),
(1, 5),
(1, 6),
(1, 7),
(1, 8),
(2, 1),
(2, 2),
(2, 3),
(2, 6),
(2, 10),
(2, 16),
(2, 13),
(2, 26),
(3, 30),
(3, 29),
(3, 28),
(3, 27),
(3, 25),
(3, 24),
(3, 4),
(3, 13),
(4, 11),
(4, 12),
(4, 14),
(4, 16),
(4, 15),
(4, 20),
(4, 7),
(4, 26);
CREATE TABLE classes (
CREATE TABLE class
(
class_id INT AUTO_INCREMENT PRIMARY KEY, class_id INT AUTO_INCREMENT PRIMARY KEY,
class_name VARCHAR(255) NOT NULL, class_name VARCHAR(255) NOT NULL,
major VARCHAR(255) major VARCHAR(255)
); );
CREATE TABLE students ( INSERT INTO class(class_name, major)
values ('2023级一班', '计算机科学与技术'),
('2023级二班', '电子工程'),
('2023级三班', '经济学'),
('2023级四班', '生物学');
CREATE TABLE students
(
student_id INT AUTO_INCREMENT PRIMARY KEY, student_id INT AUTO_INCREMENT PRIMARY KEY,
student_number VARCHAR(20) NOT NULL, student_number VARCHAR(20) NOT NULL,
student_name VARCHAR(255) NOT NULL, student_name VARCHAR(255) NOT NULL,
@ -99,23 +158,98 @@ CREATE TABLE students (
FOREIGN KEY (class_id) REFERENCES classes (class_id) FOREIGN KEY (class_id) REFERENCES classes (class_id)
); );
INSERT INTO students (student_name, student_number,class_id) VALUES ('王伟',202300001000, 8); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('李娜',202300001001, 6); VALUES ('王伟', 202300001000, 1);
INSERT INTO students (student_name, student_number,class_id) VALUES ('张伟', 202300001002, 5); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('刘洋', 202300001003, 8); VALUES ('李娜', 202300001001, 1);
INSERT INTO students (student_name, student_number,class_id) VALUES ('陈敏', 202300001004, 7); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('杨静', 202300001005, 1); VALUES ('张伟', 202300001002, 1);
INSERT INTO students (student_name, student_number,class_id) VALUES ('赵媛媛',202300001006, 4); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('黄进', 202300001007, 6); VALUES ('刘洋', 202300001003, 1);
INSERT INTO students (student_name, student_number,class_id) VALUES ('周杰',202300001008, 2); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('吴琳',202300001009, 1); VALUES ('陈敏', 202300001004, 1);
INSERT INTO students (student_name, student_number,class_id) VALUES ('徐涛',202300001010, 5); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('孙怡', 202300001011, 3); VALUES ('杨静', 202300001005, 2);
INSERT INTO students (student_name, student_number,class_id) VALUES ('朱元璋',202300001012, 2); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('马云', 202300001013, 4); VALUES ('赵媛媛', 202300001006, 2);
INSERT INTO students (student_name, student_number,class_id) VALUES ('胡雪', 202300001014, 7); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('郭敬明', 202300001015, 9); VALUES ('黄进', 202300001007, 2);
INSERT INTO students (student_name, student_number,class_id) VALUES ('林芳', 202300001016, 6); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('段誉', 202300001017, 4); VALUES ('周杰', 202300001008, 2);
INSERT INTO students (student_name, student_number,class_id) VALUES ('曹操', 202300001018, 2); INSERT INTO student (student_name, student_number, class_id)
INSERT INTO students (student_name, student_number,class_id) VALUES ('刘备', 202300001019, 2); VALUES ('吴琳', 202300001009, 2);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('徐涛', 202300001010, 3);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('孙怡', 202300001011, 3);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('朱元璋', 202300001012, 3);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('马云', 202300001013, 3);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('胡雪', 202300001014, 3);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('郭敬明', 202300001015, 4);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('林芳', 202300001016, 4);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('段誉', 202300001017, 4);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('曹操', 202300001018, 4);
INSERT INTO student (student_name, student_number, class_id)
VALUES ('刘备', 202300001019, 4);
CREATE TABLE teacher
(
teacher_id INT AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
user_id INT,
PRIMARY KEY (teacher_id),
FOREIGN KEY (user_id) REFERENCES user (user_id)
);
INSERT INTO teacher (name, user_id)
VALUES ('教师1', 1),
('教师2', 2),
('教师3', 3),
('教师4', 4);
CREATE TABLE teacher_class_course
(
id INT AUTO_INCREMENT,
teacher_id INT,
class_course_id INT,
PRIMARY KEY (id),
FOREIGN KEY (teacher_id) REFERENCES teachers (teacher_id),
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_id)
);
CREATE TABLE schedules
(
schedule_id INT AUTO_INCREMENT,
day_of_week INT,
period_id INT,
class_course_id INT,
teacher_id INT,
PRIMARY KEY (schedule_id),
FOREIGN KEY (period_id) REFERENCES course_periods (period_id),
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_id),
FOREIGN KEY (teacher_id) REFERENCES teachers (teacher_id)
);
CREATE TABLE time_period
(
period_id INT AUTO_INCREMENT,
period_name VARCHAR(10),
start_time TIME,
end_time TIME,
PRIMARY KEY (period_id)
);
INSERT INTO time_period (period_name, start_time, end_time)
VALUES ('一、二节', '08:00:00', '09:30:00'),
('三、四节', '10:00:00', '11:30:00'),
('五、六节', '14:30:00', '16:00:00'),
('七、八节', '16:30:00', '18:00:00');