《数据库应用技术-学生信息管理系统(共20页).doc》由会员分享,可在线阅读,更多相关《数据库应用技术-学生信息管理系统(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上辽 宁 工 业 大 学数据库应用技术课 程 设 计 说 明 书题目: 学生信息管理系统 学院(系): 软件学院 专业班级: 软件工程 班 学 号: 学生姓名: 指导教师: 佟玉军 教师职称: 副教授 起止时间: 2011.12.19-2011.12.31 辽宁工业大学课程设计(论文)任务书院(系):软件学院 教研室: 软件工程 学 号 学生姓名 专业班级软件工程 班设计题目学生信息管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:ACCESS2000。3 所使用的语言、工具:VB6.0+ ACCESS2000+WI
2、NDOWSXP。4 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。设计要求1 教师布置实习任务和要求时,不得缺席,并做好记录。2 上机前预先把所有的源程序编写好。3 上机时不得迟到,不得缺席,爱护设备,认真调试程序。4 仔细查阅相关资料,认真完成思考题。5 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量二周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计指导书等自编指
3、导教师评语 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31日专心-专注-专业 目录第一章 概述随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息
4、管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。根据大学校园的特点和实际情况,该系统以学生信息为基础,主要突出课程,教学。教学方面主要采取图形加数据的方式使用户能直观的管理数据信息,并能有效的管理各系学生与课程,选课信息也让学生一目了然;这里突出了重要的两点:一是:学生课程管理的信息准确无误。二是:选课管理的准确、管理方便、不冲突。这里还提供了特殊的考试报名功能。教学项目与学生管理的有机结合,可为该学生参加各科考试成绩
5、课程个人信息等管理提供依据,为学校的教学任务的完成提供保证。第二章 问题定义本学生信息管理系统是针对学校业务处理工作而使用VB6.0和ACCESS开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。建立学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化的重要举措。学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策
6、的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。
7、 作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。第三章 需求分析一、数据库需求分析“学生管理信息系统”包括十个模块:用户信息管理,班级信息管理,学籍信息管理,课程信息管理,成绩信息管理,奖惩信息管理,个人收费信息管理,消息信息管理。这十个模块既相互联系又相互独立。(1) 在系统管理模块中,当点击“退出”时,系统能够正常的关闭;(2)在学生管理模块:添加学生。当生刚
8、进校时要进行添加信息的添加;删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行删除学生信息;(3)在课程管理模块中,能够正确的对课程信息进行增加、修改和删除;(4)在成绩管理模块中,能够对已经进行了选课的学生所选择的课程进行成绩的添加以及修改;(5)在信息查询模块中,通过学号、姓名、性别、学院、专业等条件正确的查询到学生的基本信息;(6)能够对ACCESS执行数据的基本处理,如添加、删除等。系统业务流程图:业务流程图是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。由它比较适用于反映事务处理类型的业务过程。教务处奖惩信学生信学生管理制
9、度考试成绩学生入学通知学生处毕业证登记表学生档案学籍院系班级图3.1系统业务流程图二、数据库概念的结构设计得到上面的数据想和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。我所设计的实体有:学生信息实体、课程信息实体、学籍信息实体、成绩信息实体、学校信息实体、教师信息实体。三、数据库的逻辑结构设计逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行: 从E-R图向关系模式转化 数据
10、库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。设计逻辑结构时一般要分三步进行: 第一步:将概念经过转化为一般的关系、网状、层次模型;第二部:将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;第三部:对数据模型进行优化。学籍管理(学生注册,导入学生,学生查询,学生统计,学生毕业,修改学籍)收费管理(费用减免,学生交费,交费查询,未交费查询)成绩管理(成绩录入,成绩查询,班级成绩统计,年级成绩统
11、计,班级成绩明细,不及格名单,学生单科名次,学生总分名次)学籍变动(学生留降级处理,学生跳升级处理,学生借读处理,学生休学处理,学生复学处理,学生调班处理,学生转校处理,学生退学处理,学籍变动查询,学生试读查询,学生试读登记)学生信息管理(系统管理,学籍管理,学籍变动,收费管理,宿舍管理,成绩管理,学生评语,消息文件管理)四、数据字典(DD)1)数据项:表3.1数据项数据项名称数据项含义说明别名数据类型长度取值范围学号为每个学生设置一个代号无字符4a000-x999姓名学生的名字无字符50中、外文性别学生的性别无字符2男、女出生日期学生出生的日期无日期819*/*/*2*/*/*民族学生的民族
12、无字符50中文入学时间学生的入学时间无日期919*/*/*2*/*/*籍贯学生的籍贯无字符100中文班级学生的班级无字符50中文专业学生的专业无字符50中文2)数据结构的定义:表3.2课程信息数据字典名字:课程信息描述:学生选课所产生的课程信息定义:课程信息=课程号+课程名+授课老师+授课地点+课程类型+授课时间表3.3分数信息数据字典名字:分数信息描述:学生选择课程所得分数定义:分数信息=课程号+学号+分数表3.4学生信息数据字典名字:学生信息描述:学生的基本信息定义:学生信息=学生号+学生姓名+学生性别+民族+籍贯+入学时间+专业+所属学院+出生日期3)数据流的定义:表3.5成绩统计表数据
13、流名称:成绩统计 简要说明:对各科成绩进行统计 数据流来源:P1.8数据流去向:课程管理模块数据结构:序号+学号+课程编号+学期+成绩4) 数据存储:表3.6数据存储表数据存储名:课程信息输入数据流:课程基本信息,年级开课课程输出数据流:学生选修的课程信息数据存储名:成绩信息输入数据流:更新后的成绩信息输出数据流:学生各科分数及成绩的统计五、数据流图数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。系统数据流程图:学生管理员教师D1登陆P1.1登陆S1.1D2权限心息P1.2判定权限S1.2S1.3D3教师信息D4学生信息P1.3维护教师性息P
14、1.4维护学生信息S1.10S1.4S1.8P1.6课程管理P1.8成绩管理S1.4D10成绩信息S1.6D6开课信息D5班级信息P1.7数据处理S1.14S1.13S1.15图3.2系统数据流程图六、功能结构图学生管理信息系统包括学校信息管理,教师信息管理,学生信息管理,成绩信息管理,补考重修管理以及帮助说明,在成绩信息编辑页面,可以编辑更新学生成绩情况,而在成绩查询界面,可以查到详细的学生各科成绩。学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理,其中有关学生学籍等信息的输入,包括学生基本信息,所在班级,所学课程和成绩等。 学生信息的查询,包括
15、学生基本信息,所在班级,所学课程和成绩等。班级管理信息的查询 班级管理信息的修改;学校基本课程的输入,查询;学生课程的设置和修改;学生成绩信息的输入,修改,查询,统计。所以为其设计管理信息系统的时候,首先要考虑其组织结构。按照结构化的系统设计方法,将整个学生管理系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到学生管理系统的功能模块结构图。本系统的功能模块结构如图3.3所示:成绩信息管理查询管理学生信息管理系统班级信息管理学校年级设置学籍信息设置班级信息设置学籍信息管理成绩信息设置课程信息设置年级课程开设课程信息查询课程信息管理成绩信息查询班级
16、信息查询学校信息设置学籍信息管理年级信息管理图3.3系统的功能模块结构图课程信息管理包括课程信息设置、年级课程开设。其中课程信息设置时,可以输入课程编号实现对课程信息的设置,包括课程和所任课老师姓名;年级课程开设时,可以输入学年编号实现对学年课程信息的开设,包括课程名称,课程类型及课程描述等。第四章 数据库设计一、概念设计E-R图也即实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。我所设计的实体有:学生信息实体、课程信息实体、教师信息实体、成绩信息实体、班级信息实体、学院信息实体等。(1)学生信息实体E-R图:学生信息表学生编号学生姓名性别民族籍贯班级专业入学时间
17、出生日期政治代码图4.1 学生信息E-R图(2)课程信息E-R图:课程信息表课程编号学分学院编号课程名称开课学期教师编号图4.2课程信息E-R图(3)教师信息E-R图:教师信息教师编号学院编号教师姓名职称教师性别图4.3 教师信息E-R图系统E-R图:学生信息表,学校信息表,教师信息表,课程表,成绩等表之间的联系描绘出关系模型。联系是指学生管理系统中各个实体的联系,拥有一对一、一对多、多对多的联系。如图4.4所示:学院专业学校管理成绩教师学生课程班级拥有拥有拥有管理管理管理管理选择111111nnnnmnnmnn图4.4 学生管理系统总E-R图二、逻辑设计逻辑结构设计阶段的任务是将概念结构设计
18、阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行:从E-R图向关系模式转化 数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。设计逻辑结构时一般要分三步进行: 学籍管理(学生注册,导入学生,学生查询,学生统计,学生毕业,修改学籍)收费管理(费用减免,学生交费,交费查询,未交费查询)成绩管理(成绩录入,成绩查询,班级成绩统计,年级成绩统计,班
19、级成绩明细,不及格名单,学生单科名次,学生总分名次)学籍变动(学生留降级处理,学生跳升级处理,学生借读处理,学生休学处理,学生复学处理,学生调班处理,学生转校处理,学生退学处理,学籍变动查询,学生试读查询,学生试读登记)学生信息管理(系统管理,学籍管理,学籍变动,收费管理,宿舍管理,成绩管理,学生评语,消息文件管理)下面列出几个主要的数据库表设计:1.学生信息表:学号,姓名,性别,民族,籍贯,入学时间,班级,专业,出生日期。详细情况如表4.1:表4.1学生信息表序号TableName(表名)FieldName(字段)FieldType(字段类型)IsPrimaryKey(是否主键)1为主键1s
20、tudent_Infostudent_idvarchar(15) NOT NULL12student_Infostudent_namevarchar(20) NULL03student_Infostudent_genderchar(2) NULL04student_Infobirth_datevarchar(15) NULL05student_Infoclass_nochar(3) NOT NULL06student_Infotele_numbervarchar(20) NULL07student_Infoin_datevarchar(15) NULL08student_Infoaddress
21、varchar(30) NULL09student_Infocommentvarchar(100) NULL02.课程信息表:课程编号,课程名称,开课学期,学分等。详细情况如表4.2:表4.2课程表序号TableName(表名)FieldName(字段)FieldType(字段类型)IsPrimaryKey(是否主键)1为主键1course_infocourse_Noint NOT NULL1 2course_infocourse_Namevarchar(30) NULL 0 3course_infocourse_typechar(20) NULL0 4course_infocourse_de
22、svarchar(60) NULL0 3.教师信息表:教师编号,教师名称,职称,学院编号等。详细情况如表4.3:表4.3教师信息表序号TableName(表名)FieldName(字段)FieldType(字段类型)IsPrimaryKey1为主键1teacher_infoteacher_idvarchar(15)NOTNUL1 2teacher_infoteacher_Namevarchar(2) NULL 0 3teacher_infobirth_datevarchar(15) NULL0 4teacher_infoaddressvarchar(30) NULL0 三、物理设计物理设计是对
23、给定的逻辑数据模型配置一个最适合应用环境的物理结构。 物理设计的输入要素包括:模式和子模式、物理设计指南、硬件特性、OS和DBMS的约束、运行要求等。 物理设计的输出信息主要是物理数据库结构说明书。其内容包括物理数据库结构、存储记录格式、存储记录位置分配及访问方法等。1.存储结构存储结构是建立一种由逻辑结构到存储空间的映射。存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。2.索引的创建为student表创建一个以student_id为索引的关键字的唯一聚簇索引1)展开数据
24、库中的表右键学生表,单击所有任务弹出的索引管理。2)在窗体点新建索引名称为student_id_index,点击复选框“聚簇索引” 、“惟一值”。3.事务日志文件备份及存放ACCESS创建数据库的时候,会同时创建事物日志文件,事物日志存储在一个单独的日志文件上。在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就可以单独的备份,事务日志不会抢占数据库的空间,可以很容易的监测事务日志的空间。4.存取方法:存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方祛。常用的存取方法
25、有二类。第一类是索引方法,第二类是聚簇(Cluster)方法。在本数据库中的:学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)课程信息(课程编号、课程名称、开课日期、学时。)整个系统需要调用学生表、成绩表等,所以学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,可以考虑在上面建立聚簇索引以提高查询效率。第五章 界面设计一、登陆窗口如下所示当输入用户名和密码以后,点击“确认”键,如果用户名和密码都正确就可以顺利进入主窗体,如果输入错误,那么就有相应的提示信息。如图5.1所示。图5.1登陆界面二、主界面单击主界面上的各个按钮,可以进入相应的界面中
26、。图5.2主程序界面三、新生登记界面设计图5.3新生登记界面四、课程设置界面此界面对课程的添加、删除、修改等操作。图5.4课程管理界面第六章 代码与注释一、登录代码所编代码如下:(部分)Private Sub Command1_Click()Dim mrc As ADODB.Recordsettxtsql = select username from use where username= & Trim(Text1.Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True Then MsgBox 用户名错误!, vbExclamation +
27、vbOKOnly, 警告 Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Exit SubEnd Ifusername = mrc.Fields(0)txtsql = select username from use where password= & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True Then MsgBox 密码错误!, vbExclamation + vbOKOnly, 警告 Text2.SetFocus T
28、ext2.SelStart = 0 Text2.SelLength = Len(Text2.Text) Exit SubEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Command1.SetFocusEnd IfEnd Sub二、主界面代码(部分)Private Sub add_Click()qxstr = Executeqx(2)If qxstr = false Or qxstr = readonly Then ss = MsgBox(对不起,你没有管理本功能的权限,请与管理
29、员联系!, vbInformation + vbOKOnly, 警告) Exit SubEnd If Form1.Show modi = False Form1.ZOrder (0)End SubPrivate Sub MDIForm_Load()username = 0001DataEnv1.Connection1.ConnectionString = connstringStatusBar1.Panels(2).Text = NowStatusBar1.Panels(3).Text = 当前操作员: & usernameDim aa As StringSelect Case Execute
30、qx(1)Case admin aa = 超级管理员Case readonly aa = 只读管理员Case Else aa = 普通管理员End SelectStatusBar1.Panels(4).Text = 状态: & aaEnd SubPublic Sub xfbrowse()txtsql = select * from xuefei order by 学期 desc, 年级 desc,专业 descFrmxuefei2.ZOrder (0)Frmxuefei2.Caption = 浏览学费设置Frmxuefei2.xuefeishowtitleFrmxuefei2.xuefeish
31、owdataEnd Sub三、新生登记界面代码(部分)Dim txtsql1 As StringPrivate Sub Combo1_Click(Index As Integer)Dim mrc As ADODB.Recordsettxtsql1 = select 专业,年制 from class where 班级= & Trim(Combo1(1).Text) & Set mrc = ExecuteSQL(txtsql1)mrc.CloseEnd SubPrivate Sub Combo1_KeyPress(Index As Integer, KeyAscii As Integer) If
32、KeyAscii = 13 Then SendKeys TAB End IfEnd SubPrivate Sub Command1_Click()Dim mrc As ADODB.Recordset txtsql1 = select * from xj where 学号= & Trim(Text1(0).Text) & Set mrc = ExecuteSQL(txtsql1)If modi = False Then If mrc.EOF = False Then sss = MsgBox(已经存在该学号的记录,学号不能重复!, vbExclamation + vbOKOnly, 警告) Te
33、xt1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) mrc.Close Exit Sub End If End If If Not IsDate(Text1(2).Text) Then 判断是否日期格式 ssss = MsgBox(应输入日期 mm-dd-yy, vbInformation + vbOKOnly, 警告) Text1(2).SetFocus Text1(2).SelStart = 0 Text1(2).SelLength = Len(Text1(2).Text) Exit S
34、ub End If If Not IsDate(Text1(6).Text) Then ssss = MsgBox(应输入日期 mm-dd-yy, vbInformation + vbOKOnly, 警告) Text1(6).SetFocus Text1(6).SelStart = 0 Text1(6).SelLength = Len(Text1(6).Text) Exit Sub End IfNextEnd Sub四、设计总结在这次的课程设计中,使我对数据库的知识有了更深刻了解,增加可我对数据库这门课兴趣,强化了我的实际动手能力。同时也找到自己的不足。我一定会继续学习增加自己的数据库知识,在
35、今后的学习中我会更加的努力,增加自己的知识储备。对仓库管理系统的开发,我付出了大量的时间,但是,我得到的收获远远不是这些时间可以衡量的,它将是我终生的财富,必将给我今后的学习和工作带来更多的收益.通过对此管理系统的开发,使我对软件开发有了一个比较清楚的认识,体会到理论和实践的重要性.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。开始的登陆窗口,我们遇到了不会写代码的问题,这个登陆窗口是一个有用户名,有密码的界面,当你选择一个用户名,它有相应的口令,口令正确才可以进入.这是
36、一个要有变量来实现的过程,当然也要对应的数据窗口.其实,这个问题不会写代码没有关系的,我们可以从数据窗口中的变量设置中找到SQL语句,这样就解决了问题。我们的登陆窗口粗略的完成了.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如数据冗余,文档组织不合理,帮助文档没有编写,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。通过这次的课程设计,使我增加了对数据库基本概念的理解,提高对知识的理解和应用能力,并且对数据库的应用都有了更深的了解,使我的数据库编写水平又有了明显的提高。参考文献1文涛.数据库原理教程M.清华大学出版社.2004,8.2郭彩霞.数据库设计教程M.辽宁大学出版社.2007,4.3孙涛.VB程序设计开发实例M.中国工业出版社.2007,5.4蔡文佐.毕业设计指导教学J.清华大学出版社.2005,9.5孙健文.VB信息管理系统开发编著M.民邮电出版社.2005,9.6刘一鸣.毕业设计步步赢教程M.清华大学出版社.2008,2.7孙鑫.数据库简单易学J.电子工业出版社.2006,5.2蔡鸿雷.从零开始学VBM.人民邮电出版社.2006,3.4李想.VB百例案例教程M.清华大学出版社.2007,1.8孙红.VB从入门到精通M.中国铁道出版社.2007,4.