CREATE TABLE user ( user_id INT AUTO_INCREMENT PRIMARY KEY, nickname VARCHAR(50) NOT NULL, phone_number VARCHAR(15) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, identity ENUM('teacher', 'student') NOT NULL, status BOOLEAN NOT NULL ); INSERT INTO user (nickname, phone_number, password, identity, status) VALUES ('学生', '1', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'student', TRUE), ('老师', '2', '$2b$12$okY88GrzlUHb/Ox1ENwtqeBUnE0bgMOCPy.UKmFaTnu3El7EYX8Em', 'teacher', TRUE); CREATE TABLE menu_items ( id INT AUTO_INCREMENT PRIMARY KEY, menu_name VARCHAR(100), path VARCHAR(255), role ENUM('student', 'teacher'), `order` INT ); INSERT INTO menu_items (menu_name, role, path, `order`) VALUES ('课程信息', 'student', '/course-info', 1), ('课程签到', 'student', '/attendance', 2), ('公告信息', 'student', '/announcement', 3), ('签到提醒', 'student', '/attendance-reminder', 4); INSERT INTO menu_items (menu_name, role, path, `order`) VALUES ('课程类别', 'teacher', '/course-category', 1), ('课程信息', 'teacher', '/course-info', 2), ('课程签到', 'teacher', '/attendance', 3), ('签到提醒', 'teacher', '/attendance-reminder', 4); CREATE TABLE course ( course_id INT AUTO_INCREMENT PRIMARY KEY, course_name VARCHAR(255) NOT NULL, course_code VARCHAR(50) NOT NULL, course_type ENUM('选修', '必修') NOT NULL, credits INT, description TEXT ); INSERT INTO course (course_name, course_code, course_type, credits, description) VALUES ('大学计算机基础', 'CF001', '必修', 3, '介绍计算机基础知识和应用'), ('计算机导论', 'ITC002', '必修', 2, '概述计算机科学的基本概念和原理'), ('C++程序设计', 'CP001', '必修', 4, '学习C++编程语言及其应用'), ('健康教育', 'HE001', '必修', 1, '提升学生的健康意识和生活方式'), ('线性代数及其应用', 'LAAA001', '必修', 4, '学习线性代数的基础理论和实际应用'), ('高等数学2A', 'AM_2A', '必修', 4, '深化数学知识,包括微积分、矩阵理论等'), ('思想道德修养与法律基础', 'MALS001', '必修', 2, '培养学生的道德素质和法律意识'), ('体育A', 'PE_A', '必修', 1, '提高学生的身体素质和运动技能'), ('英语读写译1A', 'ERWT_1A', '必修', 3, '提升学生的英语阅读、写作和翻译能力'), ('英语听力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 ( record_id INT AUTO_INCREMENT PRIMARY KEY, course_id INT NOT NULL, student_id INT NOT NULL, date DATE NOT NULL, status ENUM('present', 'absent', 'late', 'excused'), FOREIGN KEY (course_id) REFERENCES courses (course_id), FOREIGN KEY (student_id) REFERENCES students (student_id) ); CREATE TABLE class_course ( class_course_id INT AUTO_INCREMENT PRIMARY KEY, class_id INT NOT NULL, course_id INT NOT NULL, FOREIGN KEY (class_id) REFERENCES class (class_id), FOREIGN KEY (course_id) REFERENCES course (course_id) ); INSERT INTO class_course(class_id, course_id) VALUES (1, 1), (1, 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 class ( class_id INT AUTO_INCREMENT PRIMARY KEY, class_name VARCHAR(255) NOT NULL, major VARCHAR(255) ); INSERT INTO class(class_name, major) values ('2023级一班', '计算机科学与技术'), ('2023级二班', '电子工程'), ('2023级三班', '经济学'), ('2023级四班', '生物学'); CREATE TABLE students ( student_id INT AUTO_INCREMENT PRIMARY KEY, student_number VARCHAR(20) NOT NULL, student_name VARCHAR(255) NOT NULL, class_id INT, FOREIGN KEY (class_id) REFERENCES classes (class_id) ); INSERT INTO student (student_name, student_number, class_id) VALUES ('王伟', 202300001000, 1); INSERT INTO student (student_name, student_number, class_id) VALUES ('李娜', 202300001001, 1); INSERT INTO student (student_name, student_number, class_id) VALUES ('张伟', 202300001002, 1); INSERT INTO student (student_name, student_number, class_id) VALUES ('刘洋', 202300001003, 1); INSERT INTO student (student_name, student_number, class_id) VALUES ('陈敏', 202300001004, 1); INSERT INTO student (student_name, student_number, class_id) VALUES ('杨静', 202300001005, 2); INSERT INTO student (student_name, student_number, class_id) VALUES ('赵媛媛', 202300001006, 2); INSERT INTO student (student_name, student_number, class_id) VALUES ('黄进', 202300001007, 2); INSERT INTO student (student_name, student_number, class_id) VALUES ('周杰', 202300001008, 2); INSERT INTO student (student_name, student_number, class_id) 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');