学生选课管理系统.docx
《学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
学生选课管理系统
数据库应用课程设计
学生选课管理系统
一、 引言:
学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。
在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。
二、 系统设计
系统的模块划分为如图所示,分别为:
用户登录、学生信息管理、课程信息管理、选课成绩管理、用户管理5个模块。
每个模块负责相应的功能。
系统采用ADO.NET技术实现对数据库的访问操作,使用Server200作为后台数据库。
1. 用户登录模块
提供用户登录界面,输入用户名,密码进行登录。
2. 学生信息管理模块
学生信息管理模块,用于管理学生的基本信息,所包括的字段有:
学号、姓名、性别、年龄、班级,提供对学生信息的录入、查询、修改和删除的操作。
3. 课程信息管理模块
课程信息管理模块用于管理课程的信息,所包含的字段有:
课程号、课程号、先行课和学分,提供对课程信息的录入、查询、修改和删除的操作。
4. 选课成绩管理模块
选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:
学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。
5. 用户管理模块
用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。
三、数据库设计:
1.数据库列表:
表单号
表单名
功能
student
学生信息表
储存学生个人信息
course
课程信息表
储存每科课程的信息
sc
选修成绩表
储存学生所选修的课程的成绩
useers
用户表
储存用户的账号与密码
2.数据库E-R图
3.数据库表单
创建“users”并添加各字段,如图所示:
创建“student”并添加各字段,如图所示:
创建“course”并添加各字段,如图所示:
创建“sc”并添加各字段,如图所示:
4.主要查询功能的SQL语句:
查询学生信息
SELECT*FROMstudentWHERE学号=’Sno’;(按学号查询)
SELECT*FROMstudentWHERE姓名=’Sname’;(按姓名查询)
删除学生信息
DELETEFROMstudentWHERE姓名=’Sname’;
添加学生记录
INSERTINTOstudentVALUES(‘Sno’,’Sname’,’Ssex’,Sage,’Sdept’);
修改学生记录
UPDATEstudentSET姓名=’Sname’,性别=’Ssex’,年龄=Sage,所在系=’Sdept
WHERE学号=’Sno’;
查询课程信息
SELECT*FROMcourseWHERE课程号=’Cno’;(按课程号查询)
SELECT*FROMcourseWHERE课程名=’Cname’;(按课程名查询)
删除课程信息
DELETEFROMcourseWHERE课程号=’Cname’;
添加课程记录
INSERTINTOcourseVALUES(‘Cno’,’Cname’,’Cpno’,Ccredit);
修改课程记录
UPDATEcourseSET课程名=’Cname’,先行课=’Cpno’,学分=Ccredit
WHERE课程号=’Cno’;
查询选修课成绩
SELECTsc.学号,student.姓名,sc.课程号,course.课程名,sc.成绩
FROMstudent,course,sc
WHEREstudent.学号=sc.学号ANDcourse.课程号=sc.课程号ANDsc.课程号='Cno'ANDsc.学号='Sno';";
统计每个学生的总分、平均分以及排名
SELECTstudent.姓名,SUM(成绩)总成绩,AVG(成绩)平均成绩
INTO#W
FROMsc,student
WHEREsc.学号=student.学号
GROUPBYstudent.姓名
ORDERBYAVG(成绩)DESC;
SELECT*,名次=IDENTITY(INT,1,1)
INTO#TFROM#W;
SELECT*FROM#T;
每个学生已修学分和未修学分
SELECTsc.学号,SUM(学分)已修学分,100-SUM(学分)未修学分数共100
INTO#TFROMsc,course
WHEREsc.课程号=course.课程号
GROUPBYsc.学号
ORDERBYAVG(学分)DESC;
SELECT#T.学号,student.姓名,#T.已修学分,#T.未修学分数共100
FROM#T,student
WHERE#T.学号=student.学号;
各个课程选修的人数和平均分
SELECTsc.课程号,COUNT(学号)选修人数,AVG(成绩)平均成绩
INTO#T
FROMsc
GROUPBYsc.课程号;
SELECT#T.课程号,course.课程名,#T.选修人数,#T.平均成绩
FROM#T,course
WHERE#T.课程号=course.课程号;
四、安装使用
1. 登录
界面如下图所示:
输入用户名和密码,按“确定”后,可进入系统的主界面
2. 主界面
登录后,可看到以下界面,共有5项可选,分别为学生信息管理、课程信息管理、选课成绩管理、用户信息管理和关于作者。
点击不同的选项可进入不同的功能界面。
3. 学生信息管理
点击“学生信息管理”选项之后,进入以下界面,在表中可以看到所有学生的信息,包括学号、姓名、性别、年龄和所在系。
系统并提供学生信息的增、删、改和查找功能。
查找功能有两种方式,一种是按学号查找,一种是按姓名查找,方便不同的用户需要。
如姓名输入“张龙江”,可得到以下结果:
4. 课程信息管理
点击“课程信息管理”选项之后,进入以下界面,在表中可以看到所有课程的信息,包括课程号、课程名、先行课和学分。
系统并提供课程信息的增、删、改和查找功能。
查找功能有两种方式,一种是按课程号查找,一种是按课程名查找,方便不同的用户需要。
例如在课程号输入“1”,可得到以下结果:
5. 选课信息管理
点击“选课成绩管理”选项之后,进入以下界面,在表中可以看到所有选修课程的信息,包括课学号、姓名、课程号、课程名和成绩。
系统并提供选课信息的增、删、改和查找功能。
查找功能有三种方式,一种是按学号号查找,一种是按课程号查找,一种是学号和课程号的综合查找,方便不同的用户需要。
此界面提供了信息统计的功能,共三个选项,一、统计每个学生的总分、平均分以及排名;二、统计每个学生已修学分和未修学分;三、统计各个课程选修的人数和平均分。
选择不同的选项进入相应的功能,如下图所示:
6. 用户管理
点击“用户管理”选项之后,进入以下界面,可以看到以下选项,添加用户、注销此用户、修改用户密码和返回主窗口,点击不同的选项进入相应的功能。
例如点击修改用户密码,弹出以下界面,进行当前用户的密码修改:
7. 退出
按主界面的“退出”可退出程序。
五、总结
为了完成我的数据库课程设计,我从上学期就开始做了。
了解到C++在数据库方面的应用比较麻烦,也考虑到想在课程设计的过程中学到更多的东西,于是我从开头开始学C#,一门全面的面向对象的编程语言。
我从图书馆借了大量关于C#的书,并在短时间内把C#的基本语句和功能看懂,之后就开始看C#在数据库方面的应用。
前期知识准备差不多的时候,就开始动工做我的课程设计。
在开始的时候,总会遇到这样或那样的问题,在做的过程中,慢慢摸索和研究,把其中的一个个问题逐个解决。
为了更好地完成课程设计,我利用了软件工程的思想,对系统进行需求分析,系统设计,数据库设计等。
使程序设计的过程更加合理化、系统化,同时也提高了我的编程思想和应用能力。
对于每一次课程设计,我都独立地去完成。
这一次也不例外,课程设计从上学期期末就已经开展。
在暑假的时候,我要到外地去实习,时间不是很充裕,但我尽了一切的可能,挤出时间来做完我的课程设计。
这个过程是艰苦的,但我从这个过程中,学到了很多的东西。
不但可以巩固我的数据库应用方面的知识,我又学会了一门新的语言。
提高了自己动手实践的能力,把书本的知识转化为实际应用中去,丰富了自己的实践经验。