# 学生管理系统 ## 项目说明 本系统主要用于管理学生成绩/课程,面向用户对象为老师、学生、教务员。 项目利用MySQL、Java Spring框架,前端为web,后端为servlet ![image-20221216123554273](README.assets/image-20221216123554273.png) 系统功能: - 对于学生:能够查询学生课程/成绩,以及对应老师的信息 - 对于老师:能够查看和修改老师所教的学生、相关课程、学分等 - 对于管理员:查看和修改学生/老师的账户密码、课程学分学时 查询功能:能够利用姓名/账号进行查询 ## 数据库设计 优化前: ![image-20221216103227550](README.assets/image-20221216103227550.png) 优化后: ![image-20221216103211897](README.assets/image-20221216103211897.png) Views视图为 StudentManager用于存储学生端信息 ```sql create view StudentManager as select student.id,student.name,course.subject,course.Credit from student,course ,take where student.id = take.student_id and course.course_id = take.course_id ``` ![image-20221216110809185](README.assets/image-20221216110809185.png) TeacherManager用于存储老师端信息 ```sql create view TeacherManager as select student.id, name as student_name ,subject as subject_name,Period,Credit from student,course where course.course_id = student.idTeacherManager ``` ![image-20221216110731204](README.assets/image-20221216110731204.png) 后期优化考虑: - 使用**materialized view**来存储大量的用户界面信息,已达到快速响应的信息传输,利用**Trigger**触发更新**materialized view**关联表中剩余的**students**表/**teacher**表/**user**表的信息 项目运行截图: ![image-20221216121630072](README.assets/image-20221216121630072.png) 管理员界面 ![image-20221216121636780](README.assets/image-20221216121636780.png) 查询功能 ![image-20221216121642434](README.assets/image-20221216121642434.png) 老师界面 ![image-20221216122433281](README.assets/image-20221216122433281.png) 学生界面![image-20221216123240695](README.assets/image-20221216123240695.png)