华东交大数据库课程设计报告.docx
- 文档编号:24477374
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:40
- 大小:1.80MB
华东交大数据库课程设计报告.docx
《华东交大数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《华东交大数据库课程设计报告.docx(40页珍藏版)》请在冰豆网上搜索。
华东交大数据库课程设计报告
课程设计(论文)任务书
信息学 院 计算机专 业 班
一、课程设计(论文)题目:
学生成绩管理系统
二、课程设计(论文)工作:
自年12月29日起至年1月10日止
三、课程设计(论文)地点:
5-204
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生掌握数据库开发的基本工作流程;
(2)巩固数据库课程所学的内容;
(3)培养学生的计算机思维能力以及合作的精神;
(4)培养学生分析、解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)研究课程设计任务,并进行系统需求分析;
(2)对系统进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;
(3)实现各功能模块代码;
(4)组装各模块,并测试、完善系统。
2)创新要求:
在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写课程设计论文
(2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结
(3)论文装订按学校的统一要求完成
4)参考文献:
(1)王珊萨师煊《数据库系统概论》高等教育出版社2010.
(2)崔群法祝红涛赵喜来《SQLServer2008从入门到精通》电子工业出版社2009.
(3)钱哨李继哲李挥剑《C#WinForm上机实训指导》中国水利水电出版社2010.
5)课程设计进度安排
内容天数 地点
系统总体设计2 实验室
软件设计及调试4 实验室、图书馆
撰写报告2 实验室、图书馆
答辩2 实验室
学生签名:
2012年12月29日
课程设计(论文)评审意见
(1)课程设计过程(20分):
优( )、良( )、中( )、一般( )、差( );
(2)是否完成调试,系统运行效果(30分):
优( )、良( )、中( )、一般( )、差( );
(3)回答问题(20分):
优( )、良( )、中( )、一般( )、差( );
(4)课程设计报告(30分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
讲师
2012年1月10日
摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本学生成绩管理系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。
本文在结构上首先论述了程序设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到学生成绩信息管理的目的。
关键词:
MicrosoftVisualC#2010SQLserver2008学生成绩管理
第一章绪论
1.1概述
随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.1.1问题的提出
在我国,各大中小学校的各类信息管理系统并非一个新的课题。
大多数学校信息管理系统不完善,甚至有的学校根本就没有任何信息管理系统,所有的管理工作几乎都是靠手工完成。
特别是在西部贫困地区,学校的信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错。
随着计算机技术不断地日新月异地发展,信息化是社会进程的必然趋势,学校的信息管理只有快,精,准,才能发挥其作用。
从人工操作改为计算机的自动化系统,人工操作必将被计算机代替。
有些学校虽使用计算机管理系统,但是仍然存在很多问题。
有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。
问题一日不解决,效率就一日提不上去。
为此,我动手设计了一个简单的学生成绩管理系统,学习管理系统的设计,争取早日解决这些问题。
1.1.2本课题的意义
通过对学校日常教学管理中的管理员、课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。
1.2课程设计的目的
(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;
(2)在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;
(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;
(4)为毕业设计和以后工作打下必要基础。
(5)理解和掌握该课程中的有关基本概念,程序设计思想和方法。
(6)培养综合运用所学知识独立完成课题的能力。
(7)培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
(8)掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
1.3课程设计的要求
运用数据库基本理论与应用知识,在微机SQLserver的环境上建立一个数据库应用系统。
要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
1.用e-r图设计指定题目的信息模型;
2.设计相应的关系模型,确定数据库结构;
3.分析关系模式各属于第几范式,阐明理由;
4.设计应用系统的系统结构图,确定系统功能;
5.通过设计关系的主码约束、外码约束实现完整性控制;
6.实现应用程序设计、编程、优化功能;
7.对系统的各个应用程序进行集成和调试,进一步优化系统功能、改善系统用户界面完成实验内容所指定的各项要求;
8.分析遇到的问题,总结并写出课程设计报告;
第2章学生成绩管理系统概述及关键技术
2.1学生成绩管理系统概述
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。
本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。
其功能主要有:
(1)学生信息的添加,包括输入学生基本信息和成绩。
(2)学生信息的查询,包括查询学生基本信息和成绩。
(3)学生信息的修改,包括修改学生基本信息和成绩。
(4)学生信息的删除,包括修改学生基本信息和成绩。
(5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。
(6)管理员用户对用户名的管理,包括添加新用户、删除用户。
学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用Microsoft公司的VisualC#2010ExpressEdition开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
2.1.1系统开发目的
(1)使用本系统将大大提高学院教务人员管理业务的处理效率;
(2)提高成绩信息数据的准确性和安全性;
(3)减少成绩信息管理的重复性和低效性,节约人力、物力和时间。
2.1.2系统开发背景
学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以及让教务处在最短的时间段把学生的成绩核算出来,提高教务处的办事效率。
同时,能够随时对学生、学生成绩进行各种查询和统计,以及很好地对系统进行维护。
2.1.3可行性分析
所谓可行性分析就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程。
可行性研究的最根本任务是对以后的行动方针提出建议,以避免时间、资源、人力和金钱的浪费,推荐一个较好的解决方案,并且为工程制定一个初步的计划。
(1)技术可行性
本系统采用SQL进行数据的管理、操作和维护,用VisualC#.NET进行前台设计、数据的录入、修改、删除、查询、浏览、统计等功能。
由于SQL强大的数据存储功能、方便快捷的验证功能、使用的灵活、良好的可扩展性、以及广泛实际应用,充分说明本系统在技术方面的可行性。
(2)工具可行性
软件方面:
信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。
硬件方面:
计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。
(3)经济可行性
这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。
从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
(4)操作可行性
本系统设计清晰,有良好的用户接口,操作简洁,符合教务管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求,因此操作方面具有可行性。
2.2面向对象编程语言C#
CSharp(音标[?
a:
p])(又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
概括起来,C#开发有如下几点优势。
快速应用开发(RAD)功能
语言的自由性
强大的Web服务器端组件
支持跨平台
与XML的融合
对C++的继承
2.3关系型数据库SQL
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
关系型数据库相比其他模型的数据库而言,有着以下优点:
容易理解:
二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。
使用方便:
通用的SQL语言使得操作关系型数据库非常方便,程序员甚至于数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。
易于维护:
丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。
2.4本章小结
上面讲述了本系统的功能以及开发的技术支持,具备上述知识体系或开发技术是完成本次系统设计的基本要求,成绩管理系统的详细设计过程将在后面章节进行介绍。
第3章学生成绩管理系统数据库详细设计
3.1需求分析
3.1.1信息需求
高校学生的成绩管理工作量大、繁杂,人工处理非常困难。
学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
3.1.2功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
具体功能应包括:
系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
学生:
查询每一门课程的成绩;查询所有课程的平均成绩;查询所有选课信息;教师:
添加学生成绩;修改学生成绩;查询学生成绩(按条件查询);查询所有授课信息;修改密码;管理员:
增删改查学生信息;增删改查教师信息;增删改查课程信息。
3.2概念结构设计
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计教室管理数据库包括管理员、学生、教师、课程四个关系。
3.2.1系统功能流程图
退出
图3.2.1系统功能流程
3.2.2可拓展数据库模块
学生学籍管理系统是一个典型的数据库开发应用程序,由系部管理模块、学生管理模块、课程管理模块、成绩管理模块、班级管理模块、专业管理模块、教师管理模块组成,规划系统功能模块如下:
⏹系部管理模块
该模块包括系部资料、添加系部模块。
⏹学生管理模块
该模块包括学生资料管理模块、学生资料的添加模块、学生所在院系模块、学生所在专业模块。
⏹课程管理模块
该模块主要包括课程资料管理、课程资料添加、课程类别添加、课程类别管理模块。
⏹成绩管理模块
该模块主要包括学生成绩查询、学生成绩录入
⏹班级管理模块
该模块主要包括班级资料管理、班级资料的添加
⏹专业管理模块
该模块主要包括专业详细资料、添加新专业
⏹教师管理模块
该模块主要教师信息、添加教师
3.2.3系统功能ER图
图3.2.3.a学生实体ER图
图3.2.3.b教师实体ER图
图3.2.3.c管理员实体ER图
图3.2.3.d班级实体ER图
图3.2.3.e课程实体ER图
图3.2.3.f学院实体ER图
图3.2.3.g总体ER图
3.3逻辑结构设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,具体关系模式属性如下:
(1)class(班级表)
班级表主要用于保存班详细信息。
该表结构如表B.1所示。
表B.1表class结构
字段名
数据类型
长度
主键否
描述
班级号
char
7
是
自动编号
班级名称
varchar
12
否
班级名称
专业号
char
5
否
专业号作业外键
入学年份
datetime
否
入学年份(用于查询第几级学生)
(2)course(课程表)
课程表主要保存课程的详细信息。
该数据表的结构如表B.2所示。
表B.2表course结构
字段名
数据类型
长度
主键否
描述
课程编号
Char
8
是
自动编号
课程名称
Varchar
20
否
课程名称
课程类别代码
Varchar
3
否
作为外键
学分
int
4
否
学分
(3)Coursetype(课程类别表)
课程类别表主要用于保存课程类别的详细信息。
该数据表的结构如表B.3所示。
表B.3表Coursetype结构
字段名
数据类型
长度
主键否
描述
课程类别代码
varchar
3
是
自动编号
类别名称
varchar
18
否
课程类型别名称
(4)Department(部门表)
部门表主要保存部门信息。
该数据表的结构如表B.4所示
表B.4表Department结构
字段名
数据类型
长度
主键否
描述
院部编号
char
3
否
自动编号
院部名称
varchar
30
否
院部名称
院长
char
8
否
院长姓名
(5)Grade(成绩表)
成绩表用于学生各学科的成绩信息。
该数据表的结构如表B.5所示
表B.5表Grade结构
字段名
数据类型
长度
主键否
描述
学生编号
Char
10
是
自动编号
课程编号
Char
8
否
作为外键
成绩
int
4
否
学生成绩
(6)Speciality(专业表)
专业表主要用于保存各专业的相关信息。
该数据表的结构如表B.6所示。
表B.6表Speciality结构
字段名
数据类型
长度
主键否
描述
专业号
Char
5
是
自动编号
专业名称
varchar
30
否
专业名称
院部编号
char
3
否
作为外键与院部表联系
(7)student(学生基本信息表)
学生基本信息表主要用于保存相关的学生信息。
该数据表的结构如表B.7所示
表B.7表student结构
字段名
数据类型
长度
主键否
描述
学号
Char
10
是
自动编号
姓名
varchar
10
否
学生姓名
性别
Char
2
否
学生性别
班级号
Char
7
否
作为外键与班级表对照
已修学分
Int
4
否
学生已修的学分
密码
varchar
16
否
学生的个人密码
(8)Teacher(教师表)
教师表主要用于保存教师相关信息。
该数据表的结构如表B.8所示
表B.8表Teacher结构
字段名
数据类型
长度
主键否
描述
教师号
Char
8
是
自动编号
教师名称
varchar
10
否
教师名称
所在院
Char
3
否
外键与系部表联系
性别
char
2
否
教师性别
密码
varchar
16
否
教师的个人密码
(9)admin(用户表)
用户表主要用于保存用户信息。
用户表结构如表B.9所示。
表B.9表users的结构
字段名
数据类型
长度
主键否
描述
用户编号
int
4
是
自动编号
用户名
char
10
否
用户名名称
用户密码
Varchar
50
否
用户名密码
3.4数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
部分具体物理存储结果如下:
3.4.d成绩表物理存储结构
3.5数据库的维护
当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在sqlserver中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。
当然也可以利用其他各种方法进行数据维护。
3.7本章小结
进一步深入理解数据库设计的整个过程,该学生成绩管理系统的需求分析、数据库概念结构设计有关内容等,综合练习了SQLServer的使用和数据库得管理技术。
第4章基于C#的学生成绩管理系统的实现
4.1数据库的连接
本系统采用SQLserver2008作为后台数据库,以下是调用本地数据库的代码:
privatevoidopen()
{
stringconnstring="server=localhost;uid=sa;pwd=123456;database=SMSInfo;";//SQL认证,账户为sa,密码为123456
connection=newSqlConnection(connstring);
connection.Open();//打开数据库
}
4.2数据库的操作
4.2.1数据的添加操作
以下是调用本地数据库删除元组的代码:
Stringinsertsql="insertintoGrade(sno,cno,grade)values('"+sno+"','"+cno+"',"+grade+")";
inti=MyDataBase.ExecuteSQL(insertsql);
if(i<0)
{
MessageBox.Show("数据库操作失败");
}
else
{
MessageBox.Show("数据库插入成功,已经影响"+i.ToString()+"行数据");
clearpanel();
}
4.2.2数据的修改操作
以下是调用本地数据库添加元组的代码:
inti=MyDataBase.GetdataRow("selectsnofromGradewheresno="+textBox1.Text);
intj=MyDataBase.GetdataRow("selectcnofromGradewherecno="+textBox2.Text);
if(i==0&&j==0)
{
MessageBox.Show("无此数据");
}
else
{
GetMess();
stringupdatesql="updateGradesetgrade="+grade+"wheresno="+sno+"andcno="+cno;
intk=MyDataBase.ExecuteSQL(updatesql);
if(k<0)
{
MessageBox.Show("数据库操作失败");
}
else
{
MessageBox.Show("数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华东 交大 数据库 课程设计 报告