摘要:
当今社会中,计算机的使用已经深入到日常工作和生活的方方面面。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。我们都知道,对于学生的信息管理是一个教育单位不可缺少的部分,它的内容对学校的管理者来说至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。而使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、存储量大、保密性好等。这些优点能够极大地提高学生管理的效率,也是学校科学化、正规化管理的重要途径。
关键词:学生信息管理系统;数据库系统;SQL SERVER 2000
目 录
1 需求分析 1
1.1系统需求分析 1
1.2可行性分析 1
2 数据库的概念设计 2
3 数据库的逻辑设计 2
4 数据库的物理设计 2
5 应用程序设计 4
5.1系统功能分析 4
5.2系统功能模块设计 4
5.3系统目标分析 5
6 编程实现 6
总结与体会 12
致 谢 13
参考文献 14
原文档内含文档内各种作图,如需原文档参考学习,请关注微信公众号或者联系博主获取
数据库原理及应用课程设计报告
1 需求分析
1.1系统需求分析
伴随社会的高速发展,全国各高校的学生数量一直在增加,在这样的形式下,必须要求学校有一种高效有序的方法来管理学生的信息。
通过调查,要求系统需要有以下功能:
⑴由于该系统支持多用户管理,要求支持添加用户的功能;
⑵原始数据修改简单方便,支持多条件修改;
⑶方便的数据查询,支持多条件查询;
⑷删除数据方便简单,数据稳定性好;
1.2可行性分析
本次课程设计题目:“学生信息管理系统”,主要目的是编制一个网页登陆系统,连接数据库系统,用以实现学生、班级以及考核成绩等多项管理。同时对整个系统的分析、设计过程给出一个完整的论证。
学生信息管理系统是一种基于集中统一规划的数据库数据管理新模式,其实就是对学生、班级、考核成绩的管理。
在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。
由于本系统管理的对象简单,且每个数据内容之间都具有较强的关联性,涉及过程并不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
数据库的概念设计
根据以上需求分析,可画出数据库的E-R模型图:
图2.1 数据库E-R图
3 数据库的逻辑设计
根据系统功能设计的要求以及功能模块的划分,对学生信息管理网站可以列出以下数据项及数据结构:
学生个人基本信息:主要包括学生的学号、姓名、性别、出生日期以及学生所在的班级。
课程基本信息:主要包括编号及课程的名称。
学生选课信息:主要包括学生的学号及所选课程的编号。
学生考核信息:主要包括学生的学号及考核结果。
用户信息:包括用户的帐号及密码。
4 数据库的物理设计
根据系统需求及逻辑结构设计,本网站基于SQL Server 2000数据库,建立如下数据库表。
说明:课程的基本情况,CID设为主键。
列名
数据类型
长度
可否为空
注释
CID
Char
6
Not Null
课程编号
CName
Char
10
Null
课程名
表4.1 课程信息表CourseInfo
说明:学生选课,StuID、CID设为主键。
列名
数据类型
长度
可否为空
注释
StuID
Char
12
Not Null
学号
CID
Char
6
Not Null
课程编号
表4.2学生选课信息表CourseSelectedInfo
说明:记录学生选课基本信息,StuID设为主键。
列名
数据类型
长度
可否为空
注释
StuID
Char
6
Not null
学号
EResult
Char
12
Null
成绩
表4.3学生选课信息表ExamineInfo
说明:班级信息表,ClassName、Majo设为主键。
列名
数据类型
长度
可否为空
注释
ID
bigint
8
Not Null
记录号
ClassName
Char
10
Not Null
班级名称
Major
Char
40
Not Null
专业
表4.4 班级信息表MajorInfo
说明:学生信息表,StuID设为主键。
列名
数据类型
长度
可否为空
注释
StuID
Char
12
Not Null
学号
StuName
Char
20
Null
姓名
StuSex
Char
2
Null
性别
StuBirth
Char
10
Null
出生年月
Class
Char
10
Not Null
班级编号
ID
bigint
8
Null
记录号
表4.5 学生信息表StuInfo
说明:学生信息表,UserID设为主键。
列名
数据类型
长度
可否为空
注释
UserID
Char
16
Not Null
用户号
UserPwd
Char
10
Not Null
用户密码
ID
int
4
Null
记录号
表4.6 用户信息表UserInfo
5 应用程序设计
5.1系统功能分析
学生信息管理网站基于用户验证登录的方式实现学生信息管理、课程信息管理、年终考核管理、班级管理及用户管理等功能。其功能结构如图:
图5.1系统功能结构图
5.2系统功能模块设计
学生信息管理网站主要包含用户登录、学生信息管理、课程信息管理、年终考核管理、系统管理等功能模块。
1、用户登陆
学生信息管理网站采用用户名及密码验证方式,进入学生信息管理网站前,用户必须在登录页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理网站操作主页面。
2、学生信息管理
包含3个功能模块:学生个人信息的添加、学生信息的查询以及学生信息的修改与删除。
3、课程信息管理
包含4个功能模块:课程基本信息添加与删除处理、与学生信息结合实现学生选课处理、学生退选课程处理以及学生选课信息的查询处理。
4、系统信息维护模块
包括用户基本信息管理与班级信息的管理。其中,用户管理包括用户的添加、删除、密码修改;班级信息管理包括班级信息的添加、删除处理。
5.3系统目标分析
学生信息管理网站主要提供学生信息的管理以及课程信息管理与考核管理等,其主要功能如下。
● 登录管理
用户名及密码验证处理
● 学生信息管理
实现学生基本信息的维护,功能如下:
○ 录入学生个人信息。
○ 学生信息列表及修改、删除处理。
○ 学生信息查询。
● 课程信息管理
实现课程基本信息和选课信息的维护,功能如下:
○ 选课、退课处理。
○ 课程基本信息维护:添加、删除。
○ 选课结果查询
● 考核信息管理
实现学生年终考核信息的管理,功能如下:
○ 学生考核处理。
○ 考核结果查询。
● 用户管理
实现网站用户信息的维护,功能如下:
○ 用户的添加与删除。
○ 用户密码修改。
● 班级信息管理
班级及专业信息的添加与删除。
系统操作流程图:
图5.2系统操作流程图
6 编程实现
1、数据库连接 conn.asp
数据库连接利用ODBC数据源,本系统在conn.asp文件中使用DBConnBegin及DBConnEnd两个函数,实现了SQL Server数据库连接的打开和释放。
代码如下:
<%@ Language=VBScript CODEPAGE=936%>
<% Option Explicit %>
<%
Dim oConn, oRs, sSql
Sub DBConnBegin()
If IsObject(oConn) = True Then Exit Sub
Set oConn = Server.CreateObject("ADODB.Connection")
On Error Resume Next
Dim ConnStr
ConnStr="DSN=ST;UID=baihtjs;PWD=123456"
oConn.Open ConnStr
If Err.Number > 0 Then
Response.End
End If
Set oRs = Server.CreateObject( "ADODB.Recordset" )
End Sub
Sub DBConnEnd()
On Error Resume Next
oRs.Close
Set oRs = Nothing
oConn.Close
Set oConn = Nothing
End Sub%>
2、学生信息输入 add.asp
图6.1 学生信息输入
包含学生所在班级、学生学号、姓名、性别以及出生年月的输入与存储处理,使用insert语句实现学生信息添加保存处理。SQL语句如下:
sSql="insert into StuInfo Values('"&stuid&"','"&stuname&"','"&stusex&"','"&stubirth&"','"&stuclass&"')"
3、学生信息修改或删除 modify.asp、delete.asp
图6.2 学生信息修改或删除
学生信息的修改或删除是通过在本网站的学生信息查询或所有学生信息列表中单击“修改”或“删除”进行处理。SQL语句如下:
sSql="update StuInfo set stuname='"&stuname&"',StuSex='"&stusex&"',StuBirth='"&stubirth&"',class='"&stuclass&"' where StuID='"&stuid&"'"
sSql="delete from StuInfo where id="&cstr(id)
4、选课 toSelect.asp
图6.3 学生选课
在列表中选择相应的学生,单击“选课”即进入到选课处理页面,SQL语句如下:
sSql="insert into CourseSelectedInfo values('"&stuid&"','"&course&"')"
5、退课 delcourse.asp
图6.4 学生退课
学生在选择了课程之后,可以实现课程的更换或退选处理。SQL语句如下:sSql="delete from CourseInfo where CID='"&cid&"'"
6、考核输入 toExamine.asp
图6.5 学生考核输入
选择了考核等级之后“确认”即可对学生进行考核处理。SQL语句如下:
sSql="insert into ExamineInfo values('"&stuid&"','"&kaohe&"')"
7、考核修改与删除 delExamine.asp
图6.6 学生考核修改与删除
学生考核信息的修改与删除在本网站中可以看作是一种类型的操作,要修改考核信息,首先删除考核信息,然后再进行学生考核处理。SQL语句如下:
<%
Call DBConnBegin()
dim id,stuid
id=trim(request("id"))
sSql="select * from stuinfo where [ID]='"&CStr(id)&"'"
oRs.open sSql,oConn,3,2
if not(oRs.Eof and oRs.Bof) then
stuid=trim(oRs("StuID"))
oRs.close
'删除考核信息
sSql="delete from ExamineInfo where StuID='"&stuid&"'"
oRs.open sSql,oConn,1,1
end if
Call DBConnEnd()
Response.redirect "ExamineSearch.asp"
%>
总结与体会
回顾该系统从选题,到需求分析、设计、编码实现、测试等,论文的撰写,这系列连贯的过程,感想颇多,收获也很多。大致的总结几点,如下:
1. 在开发一个系统时,前期的分析准备工作非常的重要。对于系统的需求要明确,这样才能做到有的放矢。特别是对于系统中数据的存储和重要算法的设计,设计的不好会出现大量的冗余,不仅浪费存储空间,还影响查询效率。
2.在设计的初期,对一个功能模块的设计,要想出两种或两种以上方案,这样可以进行比较,从而获得更佳的设计方案,设计开发过程中一定要吸取经验教训,避免返工。尤其是一些重要算法或功能。在对具体实现功能模块进行编程时,要养成良好的加注释的习惯,这样的话不仅能理清思路,而且可以为以后的调试带来很大的方便。
3. 懂得充分利用网络资源,因为实地调研的时间是非常有限的,所以需求分析中大部分分析结构都是在我阅读专业书籍,网络资料后得出的。由于在外面工作以及其他原因,我无法借到专业书籍,只好在浩瀚的网络中寻找我所需要的资料,这无形当中培养了我通过网络获取资料信息的能力。
致 谢
本次数据库课程设计让我收获很多,我从指导老师冯老师身上学到了很多东西。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,老师审阅我们的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务。
另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有我班同学也给了我不少帮助,这里一并表示感谢。