易妖游戏网
您的当前位置:首页SQL学生成绩管理系统

SQL学生成绩管理系统

来源:易妖游戏网


课 程 设 计

课程名称: 数据库课程设计 设计题目: 学生成绩管理系统 学 院: 应用技术学院 专 业: 电子信息工程 年 级: 2008级 学生姓名: 杨明翠 (200811513274) 指导教师: *** 日 期: 2011年11月

教 务 处 制

课 程 设 计 任 务 书

应用技术学院 学院 电子信息工程 专业 2008 年级 学生姓名: 杨明翠(200811513274)

1、 课程设计题目:

在线课程管理系统

设 计 指 导 教 师 (签字): 教学基层组织负责人(签字):

年 月 日

目录

一 概述

1.1、课程设计目的 1.2、应用背景 二 需求分析

2.1、实际分析调查 2.2、系统功能要求设计 2.3、系统模块设计 2.4数据字典 三 概念模型设计 四 逻辑和物理结构设计

4.1由系统E—R图转化而得到的关系模式如下: 4.2创建基本信息表: 五 进行简单的操作 六 总结

一 概述

1.1、课程设计目的

随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该成绩管理系统设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该管理系统,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

1.2、应用背景

随着信息化的发展,计算机技术已慢慢渗透到我们的日常生活当中。本系统利用SQL语言,实现对学生成就系统管理。主要功能为管理有关学生、教师、课程、课件,班级和课程的信息等。对于学生成绩系统也开始用到计算机技术,这样有助于方便老师、课程、学生成绩和班级管理工作,而我设计的课题就是学生成绩管理系统,采用SQL数据库技术并且从我们的生活实际出发,来设计这个数据库。充分的运用数据库知识来对课程、学生、班级的基本信息可以查询及修改等等。最终可以方便对学生成绩的管理情况。

二 需求分析

2.1、实际分析调查

一个学生成绩管理系统主要是要方便管理人员的管理工作,提高其工作效率,不仅可以方便于广大同学,以及教师和其它相关人员。最终实现更加方便的学生信息的管理工作。管理端主要实现管理工作,是为课程管理中心的管理者使用的,主要实现用户对学生信息的管理以及对学生成绩的管理。

2.2、系统功能要求设计

此系统实现如下系统功能:

(1)使得学生的成绩管理工作更加清晰、条理化、自动化。

(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。

(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

2.3、系统模块设计

成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图:

2.4数据字典

数据字典列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server

2000软件建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名 S C Sc

S基本情况数据表,结构如下: 字段名 S _sno 字段类型 varchar Not Null Primary key 说明 学号 关系模式名称 学生 课程 成绩 备注 学生学籍信息表 课程基本信息表 选课成绩信息表

S _sn S _sex S _dept S_age S_address

varchar char char char char Not Null ‘男’或‘女’ 学生姓名 性别 系别 年龄 地址 C数据表,结构如下: 字段名 C_cno C_cname C_hour C_score

SC情况数据表,结构如下: 字段名 SC_id SC_cno SCt_sno score 字段类型 int char char int 约束控制 not null 外部键 外部键 说明 成绩记录号 课程号 学号 成绩 字段类型 char char int numeric(2,1) 约束控制 主键(primary key) not null not null not null 说明 课程号 课程名称 课时 学分

三 概念模型设计

由需求分析的结果可知,本系统设计的实体包括:

(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息: 课程名,课程号,分数,学时,学分。 这些实体间的联系包括:

(1)每位学生可以学习多门课程,每门课程可供多位学生学习。

由上述分析可得到系统的E—R图:

地址 系别 学时 学分 年龄 学号 学生 成绩 选修课程 课程号 姓名 性别 分数 课程名

四 逻辑和物理结构设计

4.1由系统E—R图转化而得到的关系模式如下:

(1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号; (2)课程(课程名,课程号,学时,学分),其中主关键字为课程号; (3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。

4.2创建基本信息表:

(1)创建学生基本信息表:

(2)创建课程表:

(3)创建学生与课程的成绩表

在SC表上创建索引SC_FK与SC2_FK create index SC_FK on SC (学号 ASC) Go

create index SC2_FK on SC (课程号 ASC) go

五、进行简单的操作

1、在学生关系表中查询学号以081开头的学生

2、对学生与课程的成绩表中查询成绩大于60分的学生:

3、对学生与课程的成绩表中的学生成绩进行升序排列;

4、对课程表中的课程进行所有课程进行统计

5、对学生与课程的成绩表中找出最高成绩:

6、对学生与课程的成绩表中找出最低成绩:

5.1 数据库SQL语言代码:

create table Student (

学号 varchar(11) not null, 系别 varchar(5) not null, 姓名 varchar(6) not null, 性别 varchar(2) not null, 年龄 char(2) not null, 地址 varchar(20) not null, constraint PK_STUDENT primary key (学号) ) go

execute sp_addextendedproperty 'MS_Description';

create table 课程表 (

课程号 varchar(5) not null, 课程名 varchar(10) not null, 学时 smallint not null, 学分 int not null, constraint PK_COURSE primary key (课程号)) go

execute sp_addextendedproperty 'MS_Description'; create table 学生与课程的成绩表

( 学号 varchar(11) not null, 课程号 varchar(5) not null, 成绩 varchar(4) not null constraint PK_SC primary key (学号, 课程号) ) Go

select * from 学生信息表 where 学号 like'081%'; select * from 学生与课程的成绩表 where 成绩 >='60'; select * from 学生与课程的成绩表 order by 成绩 asc; select count(课程号) as total from 课程表; select max(成绩) from 学生与课程的成绩表; select avg(成绩) from 学生与课程的成绩表; select min(成绩) from 学生与课程的成绩表;

六 总结

对于此次课程设计我感慨颇多,的确,从理论到实践,在短短的时间里,学到了很多理论知识,在这次课程设计实习中更具体的表现出来,在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多书本上没有学到过的只是。通过这次课程设计让我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能

真正学到知识并写出有用的程序,所以提高自己的实际动手能力与思考的能力是十分重要的,在设计的过程中遇到很多的问题,可以说得困难重重,由于对以前所学过的知识理解不深刻,掌握的不牢靠,导致在设计过程中出现一些错误。还有一些小的问题,这是由于个人的粗心大意造成的,这也让我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。

人如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷

茫的时候,自己一定要坚信目标,大学毕业出去即使面临找工作,从学习这个知识,到以后做这方面的工作都需要不断的去学习去实践,这次实践可以给我一个警钟,我们面临毕业,面临择业,需要这些时间经验,在困难面前要用于尝试,这是这次课程设计的最大感想。

因篇幅问题不能全部显示,请点此查看更多更全内容