《数据库原理及应用课程设计学生学籍管理系统设计与实现.doc》由会员分享,可在线阅读,更多相关《数据库原理及应用课程设计学生学籍管理系统设计与实现.doc(29页珍藏版)》请在三一办公上搜索。
1、数据库原理及应用课程设计设计说明书学生学籍管理系统设计与实现 学生姓名学号班级成绩指导教师计算机科学与技术系 数据库原理及应用 课程设计评阅书题目学生学籍管理系统设计与实现 学生姓名学号指导教师评语及成绩指导教师签名: 年 月 日答辩评语及成绩答辩教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日课程设计任务书2009 2010 学年第一学期专业: 信息管理与信息系统 学号: 姓名: 课程设计名称: 数据库原理及应用课程设计 设计题目: 学生学籍管理系统设计与实现 完成期限:自 2009年 12 月 14 日至 2009 年 12 月 25 日共 2 周设计依据、要求及主要内容
2、(可另加附页): 通过对学校学籍管理业务进行分析、调查,设计学生学籍管理系统。主要内容及要求如下:(1)建立数据库 根据系统功能设计的要求以及功能模块的划分,设计相关数据库。 (2)学生信息管理模块 实现学生基本情况的录入、修改、删除等基本操作;对学生基本信息能提供灵活的查询方式。(3)学生成绩管理模块 实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行查询。(4)完成一个班级的学期选课功能。(5)统计功能;系统具有成绩统计、排名等功能。指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在
3、技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统实现的功能有学生信息的录入、修改、删除和查询的功能,学生成绩的管理功能,班级选课功能和统计功能四大功能模块。本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析访客管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了访客管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;
4、系统实现部分说明了几个主要模块的算法, 本系统面友好,操作简单,比较实用。关键词:SQL 2000 server;VB程序设计;学生学籍管理系统;目录课题描述12系统需求分析22.1信息需求分析22.2功能需求分析22.3数据流图22.4数据字典43 系统设计63.1数据库概念设计83.2数据库逻辑设计83.3数据库物理设计104系统实现与测试144.1系统功能结构144.2模块功能的实现15 4.2.1学籍管理模块15总结22参考文献23 课题描述 随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。在各大中小学校,用计算机管理学校的信息已经越来
5、越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。该课程设计要求设计一个学籍管理的数据库系统,数据库中包含学生的基本信息,学校院系信息,班级信息以及课程设置的信息。同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面: 第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效
6、率;第四,本系统可以使敏感文档更加安全,等等。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。2 需求分析需求分析就是分析用户的要求。在需求分析阶段,系统分析员将分析结果用数据流程图和数据字典表示。需求分析的结果是否能够准确地反用户的时间要求,将直接影响到后面各个阶段的设计,并影响到系统的设计是否合理和使用。本次设计的基于SQL Server数据库技术实现学生学籍的管理,适合一般用户的需要。2.1信息需求分析学生:学号,姓名,入学时间,班号,性别,联系电话,出生日期,家庭住址等课程:课程号,课程名,课程类型
7、,课程概述等班级信息:班号,年级,班主任,教师等 成绩信息:学生姓名,课程名,课程号,分数,考试编号等。2.2功能需求分析系统要实现的主要功能有:(1)建立数据库根据系统功能设计的要求以及功能模块的划分,设计相关数据库。 (2)学生信息管理模块实现学生基本情况的录入、修改、删除等基本操作;对学生基本信息能提供灵活的查询方式。(3)学生成绩管理模块实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行查询。(4)完成一个班级的学期选课功能。(5)统计功能;系统具有成绩统计、排名等功能。2.3 数据流图 数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部
8、的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 使用逐步求精的方法,从顶层流程图逐一分解,到最终流程图。经过详细的调查,弄清了业务流程,在此基础上,构造出系统的逻辑模型,并通过数据流图表示。如下图2.4 数据字典 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。 数据字典有一下几个要点:数据项:数据项是不可再分的数据单位,它直接反映事物的某一特征。数据结构:反映了数据之间的组合关系。数据流:数据流是数据结构在系统内传输的路径。数据文件:数据文件是数据项停留或保存的地方,也是数据流的来源和去向之一。
9、本系统所需有的数据字典卡片列表如下:名字:学生学籍信息别名:描述:学籍管理中存储的所有学生信息(包括所有学生查询的所需信息)定义:学生信息学生学号学生姓名学生性别入校日期学生班号出生日期联系电话家庭住址+备注位置:存储输出供查询名字:课程信息别名:描述:学校开设的课程的基本信息定义:课程信息课程名称课程编号课程类型课程概括位置:存储输出供选择名字:成绩信息别名:描述:学生课程的考试成绩定义:成绩信息考试编号选择班号选择学号学生姓名课程名称得分位置:存储输出供查询名字:查询信息描述:用户所提出的查询请求定义:查询信息学生信息查询信息|课程得分查询信息学生信息查询信息学生姓名|学生学号|学生班号课
10、程得分查询信息学生姓名|学生学号|学生班号位置:学生学籍管理系统课程得分管理系统名字:查询结果描述:系统完成用户查询请求后所得结果定义:查询结果学生信息查询信息|课程得分查询信息|选课信息查询信息学生信息理查询结果学生学号学生姓名学生性别入校日期学生班号出生日期联系电话家庭住址+备注课程得分理查询结果考试编号选择班号选择学号学生姓名课程名称得分位置:学生学籍管理系统课程得分管理系统 简略数据项如下:名字:学生学号别名:描述:唯一地标识学生学籍名单中一个学生定义:药品编码6字符6位置:学生信息表名字:备注别名:描述:对学生的描述位置:学生信息表名字:课程类型别名:描述:描述课程的类型定义:课程类
11、型必修|选修 位置:销售信息名字:入校日期别名:描述:记录学生入校的时间定义:销售日期8时间8位置:学生信息表 3 系统设计 系统设计的任务是确定系统的数据模式、功能结构和系统结构,确定系统支持环境、实现方法和技术。系统设计的基本内容为:(1)选择数据库管理系统,建立数据模式。(2)选择系统支持环境,包括支持系统运行的硬件和软件要求,确定系统实现功能和方法。(3)选择系统的基本架构和技术。3.1数据库概念设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为逻辑结构设计打下基础。 这个阶段用到的工具是ER图(实体-联系图)。 本系统中有四个实体集:学生实
12、体集课程实体集成绩信息实体集班级实体集E-R图如下图3.1学生实体E-R图图3.2课程实体E-R图图3.3成绩实体E-R图图3.4班级实体E-R图图3.5系统总体E-R图3.2逻辑设计 逻辑结构设计的主要目标是将概念结构转换为一个特定的DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。 该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。根据总E-R图有五个实体但仓库实体在本系统中作用不大而且仅涉及到一个仓库,所以仓库不再单独设计一张表。再加上一个多对多关系(本系统不考虑供应关系)总共五个关系模式: 学生信息(学号,性别,姓名,
13、班号,入校日期,出生日期,联系电话,家庭住址,备注)班级信息(班号,年级,班主任,教室)课程信息(课程编号,课程名称,课程类型,课程描述)成绩信息(考试编号,姓名,课程,成绩)3.3 物理设计 从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下,利用DBMS提供的各种手段设计数据库的内模式,即设计数据的存储结构和存取方法。数据库物理结构设计是对于给定的逻辑数据模型,选择一个适合的物理结构,主要涉及存取方法与存储结构,它依赖于计算机系统。1.关系模式 关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库系统大都是关系数据库系统。通过对关系模式的优化,得到六个基本表。表3.
14、1 学生信息表字段名字段类型长度主键或外键字段值约束对应中文属性名student_IDint4Primary KeyNot Null学号student_Namechar10姓名student_SexChar2性别born_DateDatetime8出生日期class_NOchar12班号tele_NumberChar11电话号码ru_Datedatetime8入学日期commentvarchar200备注addressvarchar50地址表3.2 课程信息表字段名字段类型长度主键或外键字段值约束对应中文属性名course_NoInt4Primary KeyNot Null课程编号course
15、_Namechar10课程名称course_TypeChar10课程类型course_Deschar50课程描述表3.3 班级信息字段名字段类型长度主键或外键字段值约束对应中文属性名class_NoChar12Primary KeyNot Null班号gradechar10年级directorChar10班主任classroom_NoChar10教室表3.4 年级选课表字段名字段类型长度主键或外键字段值约束对应中文属性名gradeChar10Primary KeyNot Null年级course_NameChar10Primary KeyNot Null课程名表3.5 成绩信息表字段名字段类型
16、长度主键或外键字段值约束对应中文属性名exam_NoChar10Primary KeyNot Null考试编码student_IDint4Primary Key Foreign keyNot Null学号student_NameChar10学生姓名class_NoChar12班号course_NameChar10Primary KeyNot Null课程名称resultfloat8成绩表3.6 用户登录表 字段名字段类型长度主键或外键字段值约束对应中文属性名user_IDChar10Primary KeyNot Null用户名称user_PWDChar10Primary KeyNot Null
17、用户密码user_DesChar10用户描述 2.简单物理设计 在SQL Server 2000 中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的student数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。要建立各个表,选择student数据库中的表,单击鼠标右键,在弹出的菜单中选择“新建表”。下面的表均使用上述方法制作。具体在Sql server 2000环境下,设计用户表,如下图所示: 图3.6 数据库表 学生信息表的物理设计如下:图3.7 设计student_Info表 在
18、数据库中,右击student_Info表,返回所有值,然后输入原始数据。图3.8 student_Info表 班级信息表的物理设计如下:图3.9 设计class_Info表 在数据库中,右击class_Info表,返回所有值,然后输入原始数据。图3.10 class_Info表 课程信息表的物理设计如下:图3.11 设计course_Info表 在数据库中,右击course_Info表,返回所有值,然后输入原始数据。图3.12 course_Info表 年级课程信息表的物理设计如下: 图3.13 设计gradecourse_Info表 在数据库中,右击gradecourse_Info表,返回所
19、有值,然后输入原始数据。图3.15 gradecourse_Info表 成绩录入表的物理设计如下:图3.16 设计result_Info表 在数据库中,右击result_Info表,返回所有值,然后输入原始数据。图3.17 result_Info表 用户登录表的物理设计如下:图3.18 设计user_Info表 在数据库中,右击user_Info表,返回所有值,然后输入原始数据。图3.19 user_Info表4系统实现 通过上面系统需求分析,数据库的逻辑结构与物理结构的设计,本章节便可以实现系统。4.1系统功能结构具体功能模块图如下:图4.1系统功能图4.2模块功能的实现 通过上面章节的系统
20、分析,需求分析,功能模块的设计之后,在此节可以对每个模块功能的实现。 使用VB界面控件可以设计如下主界面。图4.2系统主界面4.2.1学籍管理模块 该模块主要描述了系统的登录,添加班级,添加课程,添加成绩,添加学籍等功能,具体的功能如图所示:1.登录界面:图4.2.1登录界面系统通过如下主要代码实现登录界面功能:txtSQL = select * from user_Info where user_ID = & txtUserName.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) 2.添加班级:图4.2.2添加班级界面系统通过如下主要代码实现添加班级
21、功能:txtSQL = select * from class_Info Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.MoveFirst3. 添加课程:图4.2.3添加课程界面 系统通过如下主要代码实现添加课程功能:txtSQL = select * from course_Info Set mrc = ExecuteSQL(txtSQL, MsgText)4. 添加成绩:图4.2.4添加成绩界面系统通过如下主要代码实现添加成绩功能:comboSID.Clear comboCourse.Clear txtSQL = select * from studen
22、t_Info where class_NO = & comboClassno.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) While (mrc.EOF = False) comboSID.AddItem mrc!student_ID mrc.MoveNext txtSQL = select * from class_Info where class_No = & comboClassno.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) Grade = mrc!Grade mrc.Close txtSQL =
23、 select * from gradecourse_Info where grade = & Grade & Set mrc = ExecuteSQL(txtSQL, MsgText) While (mrc.EOF = False) comboCourse.AddItem mrc!course_Name mrc.MoveNext5. 添加学籍:图4.2.5添加学籍界面系统通过如下主要代码实现添加学籍功能: txtSQL = select * from student_Info where student_ID = & Trim(txtSID.Text) & Set mrc = Execute
24、SQL(txtSQL, MsgText)6. 添加用户:图4.2.6添加用户界面系统通过如下主要代码实现添加用户功能: txtSQL = select * from user_Info Set mrc = ExecuteSQL(txtSQL, MsgText)7. 查询成绩:图4.2.7查询成绩界面系统通过如下主要代码实现查询成绩功能:txtSQL = select * from result_Info where dd(1) = True If dd(0) Then txtSQL = txtSQL & and student_Name = & txtName.Text & Else txtS
25、QL = txtSQL & student_Name = & txtName.Text & 8. 查询学籍:图4.2.8查询学籍界面系统通过如下主要代码实现查询学籍功能: txtSQL = select * from student_Info where dd(0) = True txtSQL = txtSQL & student_ID = & Trim(txtSID.Text) & 9. 修改班级:图4.2.9修改班级界面系统通过如下主要代码实现修改班级功能: txtSQL = select * from course_Info Set mrc = ExecuteSQL(txtSQL, Ms
26、gText) mrc.MoveFirst10. 修改课程:图4.2.10 修改课程界面系统通过如下主要代码实现修改课程功能:t xtSQL = select * from course_Info Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.MoveFirst11. 修改成绩:图4.2.11修改成绩界面系统通过如下主要代码实现修改成绩功能: txtSQL = select * from student_Info where student_ID = & comboSID.Text & Set mrcc = ExecuteSQL(txtSQL, MsgText
27、) txtName.Text = mrcc!student_Namemrcc.Close12. 修改学籍信息:图4.2.12修改学籍信息界面系统通过如下主要代码实现修改学籍信息功能:txtSQL = select * from student_Info Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.Delete txtSQL = select * from student_Info where student_ID = & Trim(txtSID.Text) & Set mrcc = ExecuteSQL(txtSQL, MsgText)13. 修改密码:图
28、4.2.13修改密码界面系统通过如下主要代码实现修改密码功能: txtSQL = select * from user_Info where user_ID = & UserName & Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.Fields(1) = Text1(1).Text14. 设置年级课程:图4.2.14设置年级课程界面系统通过如下主要代码实现设置年级课程功能:txtSQL = select * from gradecourse_Info where grade = & Trim(comboGrade.Text) & Set mrc = Ex
29、ecuteSQL(txtSQL, MsgText)o txtSQL = select * from course_Info Set mrc = ExecuteSQL(txtSQL, MsgText)txtSQL = select * from gradecourse_Info where grade = & comboGrade.Text & Set mrc = ExecuteSQL(txtSQL, MsgText)总结 课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节。是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数据库系统越
30、来越热门,它应用于各行各业. 回顾起此次数据库课程设计,至今我仍感慨颇多。从选题到设计,从理论到实践,在短段的几天里来完成确实是一件很不容易的事情,可以说得是苦远远多于甜,为了能够按时完成我们的目标我也曾夜战通宵,最近的几天我休息的时间很少了,甚至三天就有两天彻夜未眠。但是,我依然没有感到很疲倦。因为看到自己设计的系统能很好的完成预定的目标,完成了各种功能,无论是界面还是其他的方面我们都尽了最大的努力,为了能很好的调试系统,我一直坐在那里好几个小时,最后看到了自己设计的系统能很好的运行,确实是一件很高兴的事情,什么疲倦都抛到脑后了。 同时我也深深感受到了软件设计者的辛苦。但是可以学到很多很多的
31、新东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,书本上和课堂上的东西远远不能满足我们需要,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,毕竟我们是第一次课程设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固等等。经过这次的课程设计我会在以后的时间里努力的学习一些课外的知识不能仅仅局限在课堂上。
32、 我还懂得了,软件的设计部仅仅是写一条代码,它有需求的分析,数据的设计,用户界面的设计等等。系统的设计依赖于用户的需求,也就是说你开发的系统要有实用的价值。还有软件是有程序和文档组成的,我们在开发软件的同时要写有一份具体的使用说明。我们做任何的事情都要有一定的规范。我们写程序时这样,写设计说明也是这样,今后做任何的事情都要有这样的心态,有责任感很吃苦头的准备。参考文献1 苗雪兰,刘瑞新,宋歌.数据库系统原理及应用教程.北京.机械工业出版社.20072 龚沛曾,陆慰民,杨志强. Visual Basic程序设计教程.北京. 高等教育出版社.20003 萨师煊 ,王珊.数据库系统概论(第三版)M.高等教育出版社. 2006年4 方贤文.数据库上机指导M.校内编著.2005年5 陈浩信,江静,王丽,孟祥瑞.VB6.0程序设计上机指导M.华东理工大学出版社.2003年