1、 网络教育学院数据库课程设计题 目:学生选课数据库系统的设计与实现学习中心: 陕西延安奥鹏学习中心 专 业: 网络工程 年 级: 2015 年 春 季学 号: 学 生: 指导教师: 刘海峰 1数据库应用课程设计学生选课管理系统一、 引言:学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我
2、们想要的数据。二、 系统设计系统的模块划分为如图所示,分别为:用户登录、学生信息管理、课程信息管理、选课成绩管理、用户管理 5 个模块。每个模块负责相应的功能。系统采用 ADO.NET 技术实现对数据库的访问操作,使用 Server 200 作为后台数据库。1. 用户登录模块提供用户登录界面,输入用户名,密码进行登录。22. 学生信息管理模块学生信息管理模块,用于管理学生的基本信息,所包括的字段有:学号、姓名、性别、年龄、班级,提供对学生信息的录入、查询、修改和删除的操作。3. 课程信息管理模块课程信息管理模块用于管理课程的信息,所包含的字段有:课程号、课程号、先行课和学分,提供对课程信息的录
3、入、查询、修改和删除的操作。4. 选课成绩管理模块选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。5. 用户管理模块用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。三、数据库设计:1 数据库列表:表单号 表单名 功能student 学生信息表 储存学生个人信息course 课程信息表 储存每科课程的信息sc 选修成绩表 储存学生所选修的课程的成绩useers 用户表 储存用户的账号与密码2 数据库 E-R 图33. 数据库表单创建“users ”并添加各字段,创建“student ”并
4、添加各字段,创建“course ”并添加各字段, 创建“sc ”并添加各字段, 4. 主要查询功能的 SQL 语句:查询学生信息4SELECT * FROM student WHERE 学号 =Sno;( 按学号查询 )SELECT * FROM student WHERE 姓名 =Sname; (按姓名查询)删除学生信息DELETE FROM student WHERE 姓名 =Sname;添加学生记录INSERT INTO student VALUES (Sno,Sname,Ssex,Sage,Sdept);修改学生记录UPDATE student SET 姓名 =Sname , 性别 =
5、Ssex, 年龄 =Sage, 所在系 =SdeptWHERE 学号 =Sno;查询课程信息SELECT * FROM course WHERE 课程号 =Cno;( 按课程号查询 )SELECT * FROM course WHERE 课程名 =Cname; (按课程名查询)删除课程信息DELETE FROM course WHERE 课程号 =Cname;添加课程记录INSERT INTO course VALUES (Cno,Cname,Cpno,Ccredit);修改课程记录UPDATE course SET 课程名 =Cname, 先行课 =Cpno, 学分 =CcreditWHER
6、E 课程号 =Cno;查询选修课成绩5SELECT sc. 学号 ,student. 姓名 ,sc. 课程号 ,course. 课程名 ,sc. 成绩FROM student,course,scWHERE student. 学号 =sc. 学号 AND course. 课程号 =sc. 课程号 AND sc. 课程号=CnoAND sc. 学号 =Sno;“;统计每个学生的总分、平均分以及排名SELECT student. 姓名 ,SUM( 成绩 ) 总成绩 ,AVG( 成绩 ) 平均成绩INTO #WFROM sc,studentWHERE sc. 学号 =student. 学号GROUP
7、BY student. 姓名ORDER BY AVG( 成绩 ) DESC;SELECT *, 名次 =IDENTITY(INT,1,1)INTO #T FROM #W;SELECT * FROM #T;每个学生已修学分和未修学分SELECT sc. 学号 ,SUM( 学分 ) 已修学分 ,100-SUM( 学分 ) 未修学分数共 100INTO #T FROM sc,courseWHERE sc. 课程号 =course. 课程号GROUP BY sc. 学号ORDER BY AVG( 学分 ) DESC;6SELECT #T. 学号 ,student. 姓名 ,#T. 已修学分 ,#T.
8、未修学分数共 100FROM #T,studentWHERE #T. 学号 =student. 学号 ;各个课程选修的人数和平均分SELECT sc. 课程号 ,COUNT( 学号 ) 选修人数 ,AVG( 成绩 ) 平均成绩INTO #TFROM sc GROUP BY sc. 课程号 ;SELECT #T. 课程号 ,course. 课程名 ,#T. 选修人数 ,#T. 平均成绩FROM #T,courseWHERE #T. 课程号 =course. 课程号 ;四、安装使用1. 登录界面如下图所示:输入用户名和密码,按“确定”后,可进入系统的主界面2. 主界面登录后,可看到以下界面,共有
9、5 项可选,分别为学生信息管理、课程信息管理、选课成绩管理、用户信息管理和关于作者。点击不同的选项可进入不同的功能界面。3. 学生信息管理点击“学生信息管理”选项之后,进入以下界面,在表中可以看到所有学生的信息,包括学号、姓名、性别、年龄和所在系。系统并提供学生信息的增、删、改和查找功能。7查找功能有两种方式,一种是按学号查找,一种是按姓名查找,方便不同的用户需要。如姓名输入“张龙江”,可得到以下结果:4. 课程信息管理点击“课程信息管理”选项之后,进入以下界面,在表中可以看到所有课程的信息,包括课程号、课程名、先行课和学分。系统并提供课程信息的增、删、改和查找功能。查找功能有两种方式,一种是
10、按课程号查找,一种是按课程名查找,方便不同的用户需要。例如在课程号输入“1 ”,可得到以下结果:5. 选课信息管理点击“选课成绩管理”选项之后,进入以下界面,在表中可以看到所有选修课程的信息,包括课学号、姓名、课程号、课程名和成绩。系统并提供选课信息的增、删、改和查找功能。查找功能有三种方式,一种是按学号号查找,一种是按课程号查找,一种是学号和课程号的综合查找,方便不同的用户需要。此界面提供了信息统计的功能,共三个选项,一、统计每个学生的总分、平均分以及排名;二、统计每个学生已修学分和未修学分;三、统计各个课程选修的人数和平均分。选择不同的选项进入相应的功能,如下图所示:6. 用户管理点击“用
11、户管理”选项之后,进入以下界面,可以看到以下选项,添加用户、注销此用户、修改用户密码和返回主窗口,点击不同的选项进入相应的功能。例如点击修改用户密码,弹出以下界面,进行当前用户的密码修改:7. 退出按主界面的“退出”可退出程序。五、心得体会为了完成我的数据库课程设计,我从上学期就开始做了。了解到 C+ 在数据库方面的应用比较麻烦,也考虑到想在课程设计的过程中学到更多的东西,于是我从开头开始学 C# ,一门全面的面向对象的编程语言。我从图书馆借了大量关于 C# 的书,并在短时间内把 C#的基本语句和功能看懂,之后就开始看 C# 在数据库方面的应用。前期知识准备差不多的时候,就开始动工做我的课程设
12、计。8在开始的时候,总会遇到这样或那样的问题,在做的过程中,慢慢摸索和研究,把其中的一个个问题逐个解决。为了更好地完成课程设计,我利用了软件工程的思想,对系统进行需求分析,系统设计,数据库设计等。使程序设计的过程更加合理化、系统化,同时也提高了我的编程思想和应用能力。对于每一次课程设计,我都独立地去完成。这一次也不例外,课程设计从上学期期末就已经开展。在暑假的时候,我要到外地去实习,时间不是很充裕,但我尽了一切的可能,挤出时间来做完我的课程设计。这个过程是艰苦的,但我从这个过程中,学到了很多的东西。不但可以巩固我的数据库应用方面的知识,我又学会了一门新的语言。提高了自己动手实践的能力,把书本的知识转化为实际应用中去,丰富了自己的实践经验。