You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 学生管理系统
## 项目说明
本系统主要用于管理学生成绩/课程,面向用户对象为老师、学生、教务员。
项目利用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)