求用sql连接的学生成绩管理信息系统
1.需求分析说明:这里要实现一个教学管理系统,在此教学管理系统中涉及对班级、学生、课程和教师的管理。要求此系统能够记录学生的选课情况、教师的授课情况以及学生、课程、教师的基本情况。具体要求为:
一门课程可由多名教师来讲授。
一个教师同时可讲授多门课程,可在不同授课学年讲授同一门课程。
一个学生可以选修多门课程。
一门课程可由多名学生选修。
一个班可以由多名学生。一个学生只在一个班学习。
数据库中要记录学生的选课情况、教师的授课情况以及班级、学生、课程、教师的基本情况。
班级的基本情况要求包括班号、班名、年级。
学生的基本情况要求包括学号、姓名、所在系、专业和班。
课程的基本情况要求包括课程号、课程名、讲授学期、学时数。
教师的基本情况要求包括教师号、教师名、所在部门、教研室、职称。
除了对这些数据进行正常的维护之外,还学要产生报表:
每学期开学时要生成学生选课情况表,内容包括学号、姓名、课程名、选课类别,其中选课类别分为必修、选修、重修。
每学期结束时要生成学生选课成绩表,内容包括学号、姓名、课程名、学年、选课类别、平时成绩、卷面成绩、总评成绩。
每学期结束时生成教师授课表,内容包括教师号、教师名、课程名、授课类别、授课学年、学时数、班数,授课类别分为主讲、辅导、带实验。
2.数据库概念模型(E-R)设计
3.数据库数据模型(关系模型)设计
4.数据库行为功能设计
1) 安全控制
任何数据库应用系统都需要安全控制功能,我们所设计的教学管理系统也不例外。假设我们将系统的用户分为如下几类:
系统管理员:有系统的全部权限
教务部门:具有对班级基本数据、学生基本数据、课表基本数据以及对教师授课的维护权。
人事部门:具有对教师基本数据的维护权。
各个系:具有对学生的选课情况的维护权。
普通用户:具有对数据的查询权。
2) 数据操作功能
数据操作功能包括对这些数据进行录入、删除、修改功能。具体如下:
数据录入
包括对这些表的数据的录入。只有具有相应权限的用户才能录入相应表中的数据。
数据删除
包括对这些表的数据的删除。只有具有相应权限的用户才能删除相应表中的数据。删除数据时要注意表之间的关联关系,比如当某个学生退学时,在删除“学生表”中的数据之前,应先删除此学生的全部选课情况,然后再在学生表中删除此学生。另外,在实际进行删除前应该提醒用户确认是否真的要删除此数据。
数据修改
当某些数据发生变化或某些数据录入不正确时,应该允许用户对数据库中的数据进行修改。修改数据操作时,一般是先根据一定条件查询出要修改的记录,然后再对其中的某些记录进行修改,修改完后再写回到数据库中去。同数据的录入与删除一样,只有具有相应权限的用户才能修改相应表中的数据。
数据查询
在数据库应用系统中,数据查询是最常用的功能,应根据用户提出的查询条件进行数据查询,在设计系统是应首先征求用户的查询需求,然后根据这些查询需求整理出系统应具有的查询功能。一般允许所有使用数据库的人具有数据查询权力。本系统应具有的一些查询要求有:
根据系、专业、班等信息查询学生的基本信息。
根据学期查询课程的基本信息。
根据部门查询教师的基本信息。
根据课程查询学生的选课情况。
根据课程查询学生的考试情况。
根据班查询学生的选课及考试情况。
根据部门、职称查询教师的授课情况。
统计每个部门的各职称的教师人数。
统计每门课程的选课人数。
按班统计每个学生的总选课学分。
统计每个班级的学生人数。
3) 生成报表
至少需要以下四张报表及其内容:
学生选课表(学号,姓名,课程名,选课类别)
学生成绩表(学号,姓名,课程名,选课类别,平时成绩,卷面成绩,总评成绩)
教师授课表(教师号,教师名,课程名,授课类别,授课学年,学时数,班数)
班级学生成绩表(班号,班名,学号,姓名,课程号,课程名,总评成绩)