学生成绩管理系统.docx

上传人:b****9 文档编号:25717480 上传时间:2023-06-11 格式:DOCX 页数:24 大小:154.63KB
下载 相关 举报
学生成绩管理系统.docx_第1页
第1页 / 共24页
学生成绩管理系统.docx_第2页
第2页 / 共24页
学生成绩管理系统.docx_第3页
第3页 / 共24页
学生成绩管理系统.docx_第4页
第4页 / 共24页
学生成绩管理系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统.docx

《学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统.docx(24页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统.docx

学生成绩管理系统

《数据库原理》课程设计报告

课程名称:

《数据库原理》课程设计

设计题目:

学生成绩管理系统

指导教师:

***************

班级:

0844121

学号:

**********

学生姓名:

********

同组人员:

***************

成绩:

评语:

 

计算机科学与工程学院

2014年6月7日

目录

第1章概述2

1.1选题的背景与意义2

1.2相关技术分析3

第2章系统功能设计4

2.1系统总体结构设计图4

2.2系统功能模块5

第3章数据库设计6

3.1需求分析6

3.2数据库概念结构设计10

3.3数据库逻辑结构设计10

3.4安全性和完整性设计11

第4章数据库维护与查询12

第5章结束语16

参考文献16

源代码17

 

第1章概述

1.1选题的背景与意义

1.1.1 系统开发背景 

    当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

 管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。

但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样的一套成绩管理系统成为很有必要的事情。

 

学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。

 

1.1.2 系统开发意义 

    学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。

 

运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。

而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。

从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。

 

在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。

学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。

对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对家长负责。

1.2相关技术分析

本次课程设计所用到的软件有SQL2008、DiagramDesigner和PowerDesigner,通过以下的详细介绍在技术上可以满足技术相关要求。

①SQL全称结构化查询语言(StructuredQueryLanguage),结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。

它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。

结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL有四大特点,即一体化、非过程化、使用方式灵活以及语言简洁,语法简单,好学好用。

一体化:

SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库中的全部工作

非过程化:

只提操作要求,不必描述操作步骤,也不需要导航。

使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。

使用方式灵活:

它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。

语言简洁,语法简单,好学好用:

在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。

②DiagramDesigner这个矢量图像编辑筹建流程图,图表和滑动展览。

包括一个可定制的样板及调色板,简单的图绘图仪。

支持使用压缩的文件格式,使用起来很是方便快捷。

③PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。

PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。

PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。

PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。

它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。

开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。

应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。

PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。

PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。

第2章系统功能设计

2.1系统总体结构设计图

2.2系统功能模块

用户管理模块:

系统具有动态权限分配功能,可以按照用户权限对用户分组,可分为一般用户,学生,老师,一般用户只能查询不能修改,学生只能对授权范围内进行相应修改和删除,老师则可以修改删除所有信息。

信息查询模块:

为学生提供相应的录入功能,为老师提供所有信息的录入功能。

信息录入模块:

为所有用户提供查询的功能,可查询允许范围内的所有信息。

信息修改模块:

管理员可以对数据库中的信息进行修改。

系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。

信息删除模块:

管理员可以对数据进行删除操作。

系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉

第3章数据库设计

3.1需求分析

3.1.1调查分析用户要求

1)教职工:

 

a.信息要求:

 

对学生成绩的了解,对学生成绩会有一个成体的了解,在今后的课程教学中可以对自己进行改进。

同时还可以对教授的课程进行修改和重设。

还可以进一步了解学生的信息,加深对学生的了解,便于因材施教。

 

b.处理要求:

 

当学生基本信息发生变化时,老师能对其进行修改。

按照不同的需要有的操作是修改、删除、增加。

 

对成绩的管理,能够进行成绩的录入、修改、删除,能够清晰的了解学生的成绩和大体情况,以便做出相应的总结和改进。

 

c.完整性要求:

 

1.各种信息记录的完整性,信息记录内容不能为空; 2.各种数据间相互的联系的正确性; 3.相同的数据在不同记录中的一致性。

 

2)学生:

 

a.信息要求:

 

能够查询自己的成绩信息和大家的整体成绩好做出对自己的新的定位,同时还有更改自己的学生信息,还有就是查询新的课程信息。

 

b.处理要求:

 

当学生发现自己信息出现错误时,可以根据自己的实际情况来进行更改,比如某同学发现自己的年龄存储出现了错误就需要相应的机制进行修改、删除等。

 

同时还可进入成绩查询系统。

在该界面中同学可以查询自己的成绩,还可以查询整个科目的全部成绩。

 

 

3.1.2数据流程图

 

3.1.3数据字典

1)数据项

数据项名

含义

数据类型

长度(字节)

数据项之间的联系

学号

学生唯一的标示

char

10

学号→学生姓名

学生姓名

学生姓名

char

20

性别

学生性别

char

2

专业

学生所在专业

char

20

专业→系别

年级

学生所在年级

char

7

学号→年级

课程号

课程唯一的标示

char

10

课程号→课程名称

课程名

课程的名字

char

10

任课教师

该课程任课教师

char

10

课程号→任课教师

成绩

学生的成绩

Int

4

(学号,课程号)→成绩

2)数据结构

数据结构名

含义说明

组成

学生信息表

学生的各项基本信息

学号、姓名、性别、专业、年级

课程信息表

课程的各项基本信息

课程号、课程名、任课教师

选课成绩信息表

选课的成绩信息

学号、课程号、课程名、分数

3)数据流

数据流名

说明

数据流来源

数据流去向

组成

学生信息查询信息

用于查询学生的基本信息

学生表

学生成绩查询系统

学号、学生姓名、性别、专业、年级

课程信息

课程的详细信息

课程信息表

学生成绩管理系统

课程号、学号、课程名、分数

学生成绩查询信息

用于查询学生每门课程的基本信息

成绩表

学生成绩管理系统

课程号、课程名、任课教师

4)数据存储

数据存储名称

说明

数据存储组成

相关联的处理

学生表

登记的学生信息

学号、学生姓名、性别、专业、年级

成绩管理,课程管理

课程表

课程的各项基本信息

课程号、课程名、任课教师

成绩管理

选课成绩表

选课的成绩信息

学号、课程号、课程名、分数

课程管理,成绩管理

 

5)处理过程

处理过程名

说明

输入数据流

输出数据流

处理

学生信息界面

查询学生信息时候的界面

学号、学生姓名、性别、专业、年级

进入学生信息界面

查看学生各项基本信息

课程信息界面

查询课程信息时候的界面

课程号、课程名称、任课教师

进入课程信息界面

查看、管理课程的各项基本信息

成绩信息界面

查询成绩信息时候的界面

课程号、学号、成绩

进入成绩信息界面

查看成绩的各项基本信息

 

3.2数据库概念结构设计

学生成绩管理系统E-R图:

3.3数据库逻辑结构设计

学生成绩管理系统关系模式:

学生(学号,姓名,性别,专业,年级)

课程(课程编号,课程名称,任课老师)

成绩(学号,课程编号,课程名称,分数)

用户(用户名,用户权限,用户密码)

管理(用户名,学号,课程号,成绩)

考试(学号,课程号,分数)

结课(学号,课程号,分数)

3.4安全性和完整性设计

1)注册学生组用户(李勇,刘晨)授权查询各个表的功能,教师组用户(王敏)授权查询,插入,更新的功能,管理员用户(张立)输入数据库全部功能。

EXECsp_addlogin'李勇','000','SCORE'

EXECsp_addlogin'刘晨','000','SCORE'

EXECsp_addlogin'王敏','000','SCORE'

EXECsp_addlogin'张立','000','SCORE'

EXECsp_adduser'李勇'

EXECsp_adduser'刘晨'

EXECsp_adduser'王敏'

EXECsp_adduser'张立'

EXECsp_addrole'学生'

EXECsp_addrole'老师'

EXECsp_addrole'管理员'

EXECsp_addrolemember'学生','李勇'

EXECsp_addrolemember'学生','刘晨'

EXECsp_addrolemember'老师','王敏'

EXECsp_addrolemember'管理员','张立'

GRANTSELECT,INSERT,UPDATE,DELETETO管理员

GRANTSELECTTO学生

GRANTSELECT,INSERT,UPDATEONStudentTO老师

GRANTSELECT,INSERT,UPDATEONSCTO老师

2)约束主要用于建立表格时对数据的要求,如,学生表的主码,课程表的主码,某些列非空、唯一。

另外还有用户自定义的约束:

a.增加课程名称必须取唯一值的约束条件

ALTERTABLECourseADDUNIQUE(Cname);

b.为学生表中的性别列添加性别只能取“男”或“女”的约束

ALTERTABLEStudentADDCHECK(SsexIN('男','女'));

3)索引

为数据库中的Student,Course,SC3个表建立索引,其中Student表按学号升序建唯一索引,Courese表按课程号升序建升序唯一索引,SC表按学号升序和课程号降序建唯一索引。

CREATEUNIQUEINDEXStusnoONStudent(Sno);

CREATEUNIQUEINDEXCourseONCourse(Cno);

CREATEUNIQUEINDEXSCONSC(SnoASC,CnoDESC);

第4章数据库维护与查询

1)查询测试

首先输入数据

NSERTINTOStudent

SELECT'084412101','李勇','软件','男','0844121'UNION

SELECT'084412206','刘晨','软件','女','0844122'UNION

SELECT'082412136','张三','数媒','女','0824121'UNION

SELECT'083412114','李四','计科','男','0834121';

INSERTINTOCourse

SELECT'1','数据处理','王磊'UNION

SELECT'2','数据库','李伟'UNION

SELECT'3','操作系统','胡明明'UNION

SELECT'4','数据结构','刘欢'UNION

SELECT'5','英语','韩强';

INSERTINTOSC

SELECT'084412101','2','数据库',92UNION

SELECT'084412101','3','操作系统',90UNION

SELECT'084412101','5','英语',84UNION

SELECT'084412206','4','数据结构',79UNION

SELECT'084412206','5','英语',90UNION

SELECT'082412136','5','英语',80UNION

SELECT'083412114','1','数据处理',96UNION

SELECT'083412114','3','操作系统',90UNION

SELECT'083412114','5','英语',80;

Student表

Course表

SC表

①单表查询:

查询学号为“084412101”的学生的姓名

selectSname

fromStudent

whereSno='084412101'

②连接查询:

将Student与SC中同一学生的元组连接起来

selectStudent.*,SC.*

fromStudent,SC

whereStudent.Sno=SC.Sno

③嵌套查询:

查询选修了5号课程的所有学生的学号,姓名,系别,性别,年级

selectSno,Sname,Sdept,Sclass,Ssex

fromStudent

whereSnoin

(selectSno

fromSC

whereCno='5')

④集合查询:

查询学号为“084412101”和学号为“084412206”的学生共同选修的课程

selectCname,Cno

fromSC

whereSno='084412101'

intersect

selectCname,Cno

fromSC

whereSno='084412206'

2)视图

a、建立选修了英语课的学生的信息及成绩。

CREATEVIEWENG_Grade

AS

SELECTStudent.Sno,Sname,SC.Cname,Grade

FROMStudent,SC,Course

WHERESC.Cno='5'

ANDStudent.Sno=SC.Sno

ANDSC.Cno=Course.Cno;

b、建立男生视图,用来查看男生的各科成绩。

CREATEVIEWBOY

AS

SELECTStudent.Sno,Sname,Cname,Grade

FROMStudent,SC

WHERESsexLIKE'男'

ANDStudent.Sno=SC.Sno;

第5章结束语

一周多的课程设计,终于成功的验收了,虽然有些疲惫,但还是有很多的收获的,我又一次巩固了所学到的知识,之前的学习只是停留在理论基础上,现在自己动手操作试验后,才是真正的理解及体会。

数据库也学了近四个月,有很多知识都是似懂非懂,通过平时上机操作,自己也了解了一些,但让我有了更深的理解和更好的认识,则是在这次的课设上,之前的困惑也通过这次的课设解决了一些,虽然还是不能够全面的理解,但是有进步就很高兴。

 

在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输进去之后,并编译让其运行,发现通过不了,再来检查出问题,是很费费力的事情,因此分析和规划代码是很重要的,最重要的是要把逻辑结构写好,这样就不会出现大问题,写代码就要先找出核心的内容,用多种方法来实现核心部分,这样可以尽可能的避免发现逻辑或编译不支持的错误。

 

通过本次论文设计,我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道了如何整合资料和处理这些资料的能力,这位以后做毕设的论文打下了基础,使我感觉比较好的是有一种成功的喜悦,虽然在编译的时候会经常因为一些小的错误而心烦意乱,但是也不失为一件好事,失败的越多积累的经验越丰富,对人的考验也比较多,那么在最后编译成功时的喜悦就越浓烈,也是自己的能力有了进一步的提高。

由于知识和经验的不足,这个程序编写的不是很尽如人意,但是融合了自己的心血,就觉得是最好的,所以在以后还是需要较多的努力的,还是会在以后的学习过程中不断地提高和改进的

参考文献

数据库系统概论(第四版)作者:

王珊、萨师煊出版社:

高等教育出版社

XX文库

源代码

CREATEDATABASESCORE;

/*==============================================================*/

/*Table:

Student*/

/*==============================================================*/

createtableStudent

Snochar(9)notnull,

Snamechar(20)null,

Sdeptchar(20)null,

Ssexchar

(2)null,

Sclasschar(7)null,

constraintPK_STUDENTprimarykeyclustered(Sno)

);

 

/*==============================================================*/

/*Table:

Course*/

/*==============================================================*/

createtableCourse

Cnochar(9)notnull,

Cnamechar(10)null,

Cteacherchar(10)null,

constraintPK_COURSEprimarykeyclustered(Cno)

);

/*==============================================================*/

/*Table:

SC*/

/*==============================================================*/

createtableSC

Snochar(9)notnull,

Cnochar(10)notnull,

Cnamechar(10)null,

Gradesmallintnull,

constraintPK_SCprimarykeyclustered(Sno,Cno)

);

altertableSC

addconstraintFK_SC_REFERENCE_STUDENTforeignkey(Sno)

referencesStudent(Sno);

altertableSC

addconstraintFK_SC_REFERENCE_COURSEforeignkey(Cno)

referencesCourse(Cno);

/*====================用户授权============================*/

 

EXECsp_addlogin'李勇','000','SCORE'

EXECsp_addlogin'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1