SQL学生成绩管理系统.docx
《SQL学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《SQL学生成绩管理系统.docx(11页珍藏版)》请在冰点文库上搜索。
![SQL学生成绩管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/29/5fc01fe0-86fc-4b29-813d-d74fd9b6f1f1/5fc01fe0-86fc-4b29-813d-d74fd9b6f1f11.gif)
SQL学生成绩管理系统
课程设计
课程名称:
数据库课程设计
设计题目:
学生成绩管理系统
学院:
应用技术学院
专业:
电子信息工程
年级:
2008级
学生姓名:
杨明翠(200811513274)
***************************************
日期:
2011年11月
教务处制
课程设计任务书
应用技术学院学院电子信息工程专业2008年级
学生姓名:
杨明翠(200811513274)
1、课程设计题目:
在线课程管理系统
设计指导教师(签字):
教学基层组织负责人(签字):
年月日
一概述
1.1、课程设计目的
随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该成绩管理系统设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该管理系统,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.2、应用背景
随着信息化的发展,计算机技术已慢慢渗透到我们的日常生活当中。
本系统利用SQL语言,实现对学生成就系统管理。
主要功能为管理有关学生、教师、课程、课件,班级和课程的信息等。
对于学生成绩系统也开始用到计算机技术,这样有助于方便老师、课程、学生成绩和班级管理工作,而我设计的课题就是学生成绩管理系统,采用SQL数据库技术并且从我们的生活实际出发,来设计这个数据库。
充分的运用数据库知识来对课程、学生、班级的基本信息可以查询及修改等等。
最终可以方便对学生成绩的管理情况。
二需求分析
2.1、实际分析调查
一个学生成绩管理系统主要是要方便管理人员的管理工作,提高其工作效率,不仅可以方便于广大同学,以及教师和其它相关人员。
最终实现更加方便的学生信息的管理工作。
管理端主要实现管理工作,是为课程管理中心的管理者使用的,主要实现用户对学生信息的管理以及对学生成绩的管理。
2.2、系统功能要求设计
此系统实现如下系统功能:
(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。
容易地完成学生信息的查询操作。
(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
2.3、系统模块设计
成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图:
2.4数据字典
数据字典列出了数据的名称、数据类型、长度、取值能否为空。
利用SQLServer2000软件建立“学生选课”数据库,其基本表清单及表结构描述如下:
数据库中用到的表:
数据库表名
关系模式名称
备注
S
学生
学生学籍信息表
C
课程
课程基本信息表
Sc
成绩
选课成绩信息表
S基本情况数据表,结构如下:
字段名
字段类型
NotNull
说明
S_sno
varchar
Primarykey
学号
S_sn
varchar
NotNull
学生姓名
S_sex
char
‘男’或‘女’
性别
S_dept
char
系别
S_age
char
年龄
S_address
char
地址
C数据表,结构如下:
字段名
字段类型
约束控制
说明
C_cno
char
主键(primarykey)
课程号
C_cname
char
notnull
课程名称
C_hour
int
notnull
课时
C_score
numeric(2,1)
notnull
学分
SC情况数据表,结构如下:
字段名
字段类型
约束控制
说明
SC_id
int
notnull
成绩记录号
SC_cno
char
外部键
课程号
SCt_sno
char
外部键
学号
score
int
成绩
三概念模型设计
由需求分析的结果可知,本系统设计的实体包括:
(1)学生基本信息:
学号,姓名,性别,地址,年龄,专业。
(2)课程基本信息:
课程名,课程号,分数,学时,学分。
这些实体间的联系包括:
(1)每位学生可以学习多门课程,每门课程可供多位学生学习。
由上述分析可得到系统的E—R图:
四逻辑和物理结构设计
4.1由系统E—R图转化而得到的关系模式如下:
(1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号;
(2)课程(课程名,课程号,学时,学分),其中主关键字为课程号;
(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。
4.2创建基本信息表:
(1)创建学生基本信息表:
(2)创建课程表:
(3)创建学生与课程的成绩表
在SC表上创建索引SC_FK与SC2_FK
createindexSC_FKonSC(学号ASC)
Go
createindexSC2_FKonSC(课程号ASC)
go
五、进行简单的操作
1、在学生关系表中查询学号以081开头的学生
2、对学生与课程的成绩表中查询成绩大于60分的学生:
3、对学生与课程的成绩表中的学生成绩进行升序排列;
4、对课程表中的课程进行所有课程进行统计
5、对学生与课程的成绩表中找出最高成绩:
6、对学生与课程的成绩表中找出最低成绩:
5.1数据库SQL语言代码:
createtableStudent
(
学号varchar(11)notnull,
系别varchar(5)notnull,
姓名varchar(6)notnull,
性别varchar
(2)notnull,
年龄char
(2)notnull,
地址varchar(20)notnull,
constraintPK_STUDENTprimarykey(学号)
)
go
executesp_addextendedproperty'MS_Description';
createtable课程表
(
课程号varchar(5)notnull,
课程名varchar(10)notnull,
学时smallintnotnull,
学分intnotnull,
constraintPK_COURSEprimarykey(课程号))
go
executesp_addextendedproperty'MS_Description';
createtable学生与课程的成绩表
(学号varchar(11)notnull,
课程号varchar(5)notnull,
成绩varchar(4)notnull
constraintPK_SCprimarykey(学号,课程号)
)
Go
select*from学生信息表where学号like'081%';
select*from学生与课程的成绩表where成绩>='60';
select*from学生与课程的成绩表orderby成绩asc;
selectcount(课程号)astotalfrom课程表;
selectmax(成绩)from学生与课程的成绩表;
selectavg(成绩)from学生与课程的成绩表;
selectmin(成绩)from学生与课程的成绩表;
六总结
对于此次课程设计我感慨颇多,的确,从理论到实践,在短短的时间里,学到了很多理论知识,在这次课程设计实习中更具体的表现出来,在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多书本上没有学到过的只是。
通过这次课程设计让我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力与独立思考的能力是十分重要的,在设计的过程中遇到很多的问题,可以说得困难重重,由于对以前所学过的知识理解不深刻,掌握的不牢靠,导致在设计过程中出现一些错误。
还有一些小的问题,这是由于个人的粗心大意造成的,这也让我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。
人如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即使面临找工作,从学习这个知识,到以后做这方面的工作都需要不断的去学习去实践,这次实践可以给我一个警钟,我们面临毕业,面临择业,需要这些时间经验,在困难面前要用于尝试,这是这次课程设计的最大感想。