学生信息管理系统 数据库课程设计

上传人:daj****de 文档编号:160039140 上传时间:2022-10-10 格式:DOCX 页数:28 大小:328.06KB
返回 下载 相关 举报
学生信息管理系统 数据库课程设计_第1页
第1页 / 共28页
学生信息管理系统 数据库课程设计_第2页
第2页 / 共28页
学生信息管理系统 数据库课程设计_第3页
第3页 / 共28页
点击查看更多>>
资源描述
目录第一章 系统概述 11.1 系统开发的背景 11.2系统开发的意义 1第二章系统需求分析 22.1系统功能要求 22.2 需求分析概述 22.3 系统层次划分 32.4 系统数据流图 32.5 数据字典 4第三章 系统总体设计目标 103.1 系统总体设计目标 103.2 系统概念设计 103.2.1 概念模式(E-R图)103.2.2 关系模式123.2.3关系模式规范化说明133.2.4 系统数据库表结构13第四章 数据库系统实现164.1系统实现工具简介164.2 学生信息管理系统数据库实现16结束语 26参考文献27第一章 系统概述1.1 系统开发的背景随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成 倍增加。面对庞大的信息量,传统的人工方式管理会导致学生信息管理上的混 乱,人力与物力过多浪费,管理费用的增加,从而使学校管理人员的负担过重, 影响整个学校的运作和控制管理,因此,必须制定一套合理、有效,规范和实 用的学生信息管理系统,对学生信息进行集中统一的管理。通过这样的系统, 可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作 量。另一方面,IT产业和In terne t获得了飞速发展,计算机应用已渗透到了 各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及 时性和正确性。提高学生信息管理的工作效率,作到信息的规范管理,科学统计和快速查 询,让该系统更好的为学校,社会服务。1.2 系统开发的意义学生信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点, 如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等 这些优点能够极大地提高学生信息管理的效率。因此,开发一套能够为用户提 供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是 十分及时的。通过对管理系统模型的研究,提出一套构造学生信息管理系统模块的方法, 并利用数据库,信息系统分析学的知识,结合其它学校管理业务知识,建立起 相关数据模型,利用面向对象开发工具对其进行设计与开发,建立一套有效的 学生信息管理系统,可以减少工作量,将管理工作科学化,规范化,提高学校 管理的工作质量和工作效率。第二章 系统需求分析2.1 系统功能要求主要功能:(1)学生信息管理:对学生基本信息的增加、修改和删除(2)学生查询:对学生基本信息和成绩的查询(3)学生选课:用于学生选择课程学习(4)学生成绩:对学生各科成绩的添加、修改和删除等管理(5)打印:用来打印学生的基本信息和成绩2.2 需求分析概述随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应 用于各类信息化学校。学生学籍管理系统要求实用性强、使用方便、效率高和安 全可靠等特点。经分析我认为学生信息管理系统的具体要求为:1、能全面管理学生的各类信息,如学生信息管理,学生查询,学生选课,学生 成绩和打印等五项功能。2、通过使用计算机能方便的维护(包括插入、删除、修改)各信息表3、能方便的实现基于多个表的连接查询4、系统具有操作方便、简捷等特点因而,所开发的管理系统正是围绕以上几个方面进行的,在开发过程中充分 考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求。2.3 系统层次划分系统层次划分如图 2.1 所示图 2.1 系统层次划分图2.4 系统数据流图数据流图是在对系统分析调查的基础上,以系统的科学性、管理的合理性 技术的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分 解,从逻辑上精确地描述应具有的数据加工功能、数据输入、数据输出、数据 存储及数据的来源和去向。学生信息管理系统经过划分出各子系统及其各自的 功能,以及相互联系,绘制出数据流图如图 2.2 所示:图2.2 系统数据流程图2.5 数据字典(1)数据流的描述数据流编号:D01数据流名称:输入请求 简述:向系统管理人员提交输入请求 数据流来源:查询信息管理 数据流去向:系统管理人员 数据项组成:学生姓名+学号+请求信息数据流量:约20张/日高峰流量:约 50 张/日数据流编号:D02数据流名称:输出结果 简述:向查询信息处理输出结果 数据流来源:系统管理人员 数据流去向:查询信息处理 数据项组成:学生姓名+学号+查询信息数据流量:约20张/日高峰流量:约50张/日数据流编号:D02数据流名称:请求结果 简述:向系统管理人员提交请求结果 数据流来源:添加修改信息处理模块 数据流去向:系统管理人员 数据项组成:学生姓名+学号+请求结果数据流量:约20张/日高峰流量:约50张/日数据流编号:D04数据流名称:正确信息 简述:向添加修改信息处理模块输出正确信息 数据流来源:系统管理人员 数据流去向:添加修改信息处理模块 数据项组成:学生姓名+学号+正确信息数据流量:约20张/日高峰流量:约50张/日数据流编号:D05数据流名称:删除请求 简述:向系统管理人员提交信息删除请求 数据流来源:删除信息模块数据流去向:系统管理人员 数据项组成:学生姓名+学号+删除请求 数据流量:约20 张/日高峰流量:约50 张/日数据流编号:D06数据流名称:删除结果 简述:向删除信息处理模块输出删除结果 数据流来源:系统管理人员 数据流去向:删除信息处理模块 数据项组成:学生姓名+学号+删除结果 数据流量:约20 张/日高峰流量:约50 张/日2)处理逻辑的描述处理逻辑编号:P1 处理逻辑名称:查询信息处理简述:学生对自己的基本信息和成绩进行查询 输入的数据流:输出结果 处理描述:根据管理人员输出结果使用户可以查询所需要的信息 输出的数据流:输入请求处理频率:5 次/日处理逻辑编号:P2处理逻辑名称:添加、修改信息处理简述:通过请求结果对学生的基本信息和成绩进行添加、修改操作 输入的数据流:请求结果 处理描述:完善学生的基本信息和成绩的管理,使之更准确有效 输出的数据流:正确信息处理频率:5 次/日处理逻辑编号:P3处理逻辑名称:删除信息处理 简述:通过请求结果对学生的基本信息和成绩删除操作 输入的数据流:删除请求处理描述:对于错误信息或者失效信息进行删除操作 输出的数据流:删除结果处理频率:5 次/日处理逻辑编号:P4处理逻辑名称:选课处理简述:学生根据自己的时间和喜好对课程进行选择性学习 处理描述:完成学生的课程选择处理频率:5 次/日处理逻辑编号:P5处理逻辑名称:录入学生信息 简述:将学生的基本信息录入该系统 处理描述:对学生的信息进行录入 处理频率:5 次/日处理逻辑编号:P6处理逻辑名称:录入学生成绩 简述:将学生的考试成绩录入该系统处理描述:对学生的成绩进行录入处理频率:5次/日(3) 数据存储的描述数据存储编号:F1数据存储名称:学生信息基本表简述:包含学生所有的基本信息数据存储组成:学生姓名+学生学号+性别+年龄+出生年月+身份证号码+ 籍贯+政治面貌+社会关系+家庭住址+联系方式 关键字:学生学号+姓名相关处理:P2, P3, P5数据存储编号:F2数据存储名称:学生成绩表 简述:学生选修所有成绩的汇总表 数据存储组成:课程号+课程名+任课教师+上课地点+上课周次+考试成绩 关键字:课程号+课程名相关处理:P2, P3, P6数据存储编号:F3数据存储名称:课程存储简述:对学生所选的课程进行存储数据存储组成:学生姓名+学生学号+所选课程+课程教师+课程所在教室 关键字:学生学号+所选课程+课程教师+上课地点相关处理:P4(4) 外部实体的描述外部实体编号:S01外部实体名称:学生简述:是该系统中进行信息和成绩查询的用户外部实体编号:S02外部实体名称:系统管理人员简述:系统管理人员对学生信息进行添加、修改和删除操作输出的数据流:输出结果,正确信息,删除结果第三章 系统总体设计目标3.1 系统总体设计目标随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深 刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的 优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快 捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生 信息管理的效率,也是学生信息管理的科学化、正规化管理,与世界接轨的重要 条件。因此,开发这样一套管理软件成为很有必要的事情。使之减轻系统管理 人员的负担,充分发挥电脑的作用。 学生信息管理系统是学生管理工作中不可缺少的部分 ,它的内容对于学校和学 生来说都至关重要,所以学生信息管理系统应该能够为管理者或使用者提供充 足的信息和快捷的数据处理手段。对学生信息和成绩进行录入、查询、修改、 增加、删除等功能,而且可以实现选课功能。高效性通过系统的实用,能够改 变旧的学生信息管理模式,使对学生的信息和成绩进行查询、增加、修改和删 除以及具备选课的功能。便于学校的管理和学生的查询。3.2 系统概念设计所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。学生信息管理信息系统可以划分的实体有:院系类别信息实体、班级信息 实体、专业信息实体、学生信息实体、教师信息实体和课程信息实体。3.2.1概念模式(E-R图)1、E-R 图(1)班级实体图如图 3.1 所示4)课程实体图如图3.4所示图 3.4 课程实体图(5) 系统E-R图图3.5所示班级1n学生mn图3.5系统E-R图2、系统E-R图说明(1) 一个班级包括若干名学生(2) 一个学生可以选修多门课程,一个课程可以被多个学生选修(3) 一个教师可以讲授多门课程,一门课程可以被多名教师讲授3.2.2 关系模式班级(班号,班名,人数)学生(学号,姓名,性别,出生年月)课程(课程号,课程名,学分,开课学期)教师(教师号,姓名,性别)选修(学号,课程号,成绩)讲授(教师号,课程号,上课时间,上课地点)3.2.3 关系模式规范化说明(1)班级表的主属性是班号,经分析班级模式在满足第一范式的基础上还满足 第二范式,并且它的任何一个非主属性都不传递依赖于主属性班号,因此也满 足第三范式。(2)学生表的主属性是学号,经分析学生模式在满足第一范式的基础上还满足 第二范式,并且它的任何一个非主属性都不传递依赖于主属性学号,因此也满 足第三范式。(3)课程表的主属性是课程号,经分析课程模式在满足第一范式的基础上还满 足第二范式,并且它的任何一个非主属性都不传递依赖于主属性课程号,因此 也满足第三范式。(4)教师表的主属性是教师号,经分析教师模式在满足第一范式的基础上还满 足第二范式,并且它的任何一个非主属性都不传递依赖于主属性教师号,因此 也满足第三范式。(5)选修表的主属性是学号和课程号,经分析选修模式在满足第一范式的基础 上还满足第二范式,并且它的任何一个非主属性都不传递依赖于主属性学号和 课程号,因此也满足第三范式。(6)讲授表的主属性是教师号和课程号,经分析班级模式在满足第一范式的基 础上还满足第二范式,并且它的任何一个非主属性都不传递依赖于主属性,因 此也满足第三范式。3.2.4 系统数据库表结构1) 表 31 数据库索引表表名中文名class班级表student学生表course课程表teacher教师表xuanxiu选修表jiangshou讲授表2) 表3-2 班级表字段名字段类型长度字段值约束对应中文名数据列举BHVarchar10Not null班号082202HBMVarchar20Not null班名信管RSVarchar10Not null人数403)表3-3 学生表字段名字段类型长度字段值约束对应中文名数据列举SNVarchar20Not null学号200822040235SNAMEVarchar10Not null姓名张乐SEXVarchar4Not null性别女BIRTHVarchar10Not null出生年月1989.104)表3-4 课程表字段名字段类型长度字段值约束对应中文名数据列举CNVarchar20Not null课程号080021CNAMEVarchar10Not null课程名管理信息系统XFVarchar4Not null学分5TIMEVarchar20Not null开课学期10-11学年第一学期5)表3-5 教师表字段名字段类型长度字段值约束对应中文名数据列举TNVarchar20Not null教师号030010TNVarchar10Not null姓名武妍SEXVarchar10Not null性别女6) 表3-6 选修表字段名字段类型长度字段值约束对应中文名数据列举SNVarchar20Not null学号200822040235CNVarchar20Not null课程号080021CJVarchar10Not null成绩857)表 3-7 讲授表字段名字段类型长度字段值约束对应中文名数据列举TNVarchar20Not null教师号030010CNVarchar20Not null课程号080021SHIJIANVarchar10Not null上课时间第二节课PLACEVarchar10Not null上课地点18楼1阶第四章数据库系统实现4.1系统实现工具简介SQL Server 2000 简介:SQL Server是一个关系数据库管理系统,它最初是由Microsoft Sybase和 Ashton-Tate三家公司共同开发的于1988年推出了第一个OS/2版本在 Windows NT推出后Microsoft与Sybase在SQL Server的开发上就分道扬镳 了 Microsoft将SQL Server移植到Windows NT。系统上专注于开发推广SQL Server的Windows NT版本Sybase则较专注于SQL Server在UNIX操作系统 上的应用。SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统 的最新版本,该版本继承了 SQL Server 7.0版本的优点,同时又比它增加了 许多更先进的功能,具有使用方便、可伸缩性、与相关软件集成程度高等优点, 可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。4.2学生信息管理系统数据库实现1.用SQL语言分别建立班级表、学生、课程、教师表。代码如下:(1)班级表CREATE Table 班级表(班号 varchar(10)not null primary key(班号),班名 varchar(20),人数 varchar(10),)希表“班级表円中的数据.谊置是“学生营息管理中、(local)上班号班名人数8Z2024008230140$8240240|*(2)学生表CREATE Table 学生表学号 varchar(20) not null primary key(学号),姓名 varchar(lO) not null,性别 varchar(4),出生年月 varchar(10), )侖表“学生表“中的隸据,住置是“学生常息管理中、(local)上学号姓名性别出生年月_ 200822040235张一乐1989.051989. 1Z200822040222桑梦媛2 200822040238越睫旨(3)课程CREATE Table 课程表(课程号 varchar(20) not null primary key(课程号),课程名 varchar(10),学分 varchar(4)开课学期varchar(20),)侖表“课程表中內数据,应置是学生信息管理”中、(local) - 凜翟号课程茗开谅学痴080021管理信息4第二学期LI8LILI22经济学4第一学期$080023运筹学3第二学期(4)教师表CREATE Table 教师表(教师号 varchar(20) not null primary key(教师号), 姓名 varchar(10),性别 varchar(lO),)濡表。報师表1中的数据,位置是“学生惜息管理中、-(local)- 教师号姓名性别030010030011李小波.030012女12、原代码设计(1) 登陆界面源代码Option ExplicitDim stuflag As Boolean 标记用户是否为学生Public LoginSucceeded As BooleanPrivate Sub cmdCancel_Click()设置全局变量为false不提示失败的登录LoginSucceeded = FalseMe.HideEnd SubPrivate Sub cmdOK_Click()检查正确的密码Dim num1 As IntegerDim num2 As IntegerIf Len(txtUserName.Text) 0 And Len(txtPassword) 0 And stuflag = False Then 管理人员Adodc1.Item(0).CommandType = adCmdTextAdodc1.Item(0).RecordSource = select * from wjuser where uname= & Trim(txtUserName.Text) & And upasw= & Trim(txtPassword.Text) & Adodc1.Item(0).Refreshnum1 = Adodc1.Item(0).Recordset.RecordCountElse学生Adodc1.Item(1).CommandType = adCmdTextAdodc1.Item(1).RecordSource = select sname spasw from wjstudent where sname= & Trim(txtUserName.Text) & And spasw & Trim(txtPassword.Text) & Adodc1.Item(1).Refreshnum2 = Adodcl.Item(l).Recordset.RecordCount End IfIf numl = 0 And num2 = 0 ThenMsgBox 无效的密码,请重试!,,登录txtPassword.SetFocusSendKeys Home+EndElseLoginSucceeded = TrueMe.HideMDIForm1.ShowEnd IfEnd SubPrivate Sub Option1_Click(Index As Integer)If Index = 0 ThenIf stuflag = False Then stuflag = TrueEnd IfElseIf stuflag = True Then stuflag = FalseEnd IfEnd IfEnd Sub图5.1系统登陆界面(2) 添加用户界面源代码Private Sub Command1_Click()添加用户Adodd.Recordset.AddNewEnd SubPrivate Sub Command2_Click()更新Adodc1.Recordset.Fields(uname) = Trim(Text1.Text)Adodc1.Recordset.Fields(upasw) = Trim(Text2.Text)Adodcl.Recordset.UpdateMsgBox 添加成功!,,提示End Sub忝加成功!i图5.2用户添加界面(3) 用户密码修改界面源代码Private Sub Command1_Click()Command2.Enabled = False 使取消按钮不可用If Len(Text4.Text) 0 Then查看输入用户是否存在Adodcl.CommandType = adCmdTextAdodcl.RecordSource = select * from wjuser where uname= Trim(Textl.Text) & Adodcl.RefreshIf Adodcl.Recordset.RecordCount = 0 ThenMsgBox 没有该用户!,请重新输入,,提示ElseIf Len(Textl.Text) 0 Then查看旧密码是否正确Adodcl.CommandType = adCmdTextAdodcl.RecordSource = select * from wjuser where upasw= Trim(Text4.Text) & Adodcl.RefreshIf Adodcl.Recordset.RecordCount = 0 ThenMsgBox 密码不正确,请重新输入!,,提示ElseIf Len(Text2.Text) 0 Then 确认密码并修改If Len(Text3.Text) 0 ThenIf Text2.Text Text3.Text ThenMsgBox 您的输入不一致,请重新确认!,提示ElseAdodcl.Recordset.Fields(upasw)Trim(Text3.Text)Adodcl.Recordset.Update MsgBox 修改成功,,提示End IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd SubPrivate Sub Command2_Click()取消Command1.Enabled = False使修改按钮不可用Adodc1.Recordset.CancelUpdateEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub设有谬用尸!请重新输入图5.3密码修改界面(4) 学生密码修改界面源代码Private Sub Command1_Click()修改Command2.Enabled = False 使取消按钮不可用If Len(Text4.Text) 0 Then查看输入学号是否存在Adodcl.CommandType = adCmdTextAdodcl.RecordSource = select * from wjstudent where sno= &Trim(Text4.Text) & Adodc1.RefreshIf Adodc1.Recordset.RecordCount = 0 ThenMsgBox 没有该学号!,请重新输入, , 提示ElseIf Len(Text1.Text) 0 Then 查看旧密码是否正确 Adodc1.CommandType = adCmdTextAdodc1.RecordSource = select * from wjstudent where spasw= & Trim(Text1.Text) & Adodc1.RefreshIf Adodc1.Recordset.RecordCount = 0 Then MsgBox 密码不正确,请重新输入!, , 提示ElseIf Len(Text2.Text) 0 Then 确认密码并修改If Len(Text3.Text) 0 ThenIf Text2.Text Text3.Text ThenMsgBox 您的输入不一致,请重新确认!, , 提示 ElseAdodc1.Recordset.Fields(spasw)Trim(Text3.Text)Adodc1.Recordset.UpdateMsgBox 修改成功, , 提示End IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd SubPrivate Sub Command2_Click() 取消Adodc1.Recordset.CancelUpdateCommand1.Enabled = False使修改按钮不可用End SubPrivate Sub Command3_Click() 退出Unload MeEnd Sub密码不正确,诸重新输入!W:J图5.4学生密码修改界面(5)信息查询源代码Dim nameflag As Boolean 标记是否按姓名查询Private Sub Commandl_Click()个人信息查询Dim searchSQL As StringAdodd.CommandType = adCmdTextIf nameflag = False ThensearchSQL = select * from wjstudent where sno = & Trim(Text1.Text) & 按学号查询ElsesearchSQL = select *from wjstudent where sname = & Trim(Text1.Text) & 按姓名查询End IfAdodd.RecordSource = searchSQLAdodd.RefreshIf Adodd.Recordset.RecordCount = 0 ThenMsgBox 不存在此纪录!请重新输入,,警告End IfEnd SubPrivate Sub Command2_Click()退出查询信息窗体Unload MeEnd SubPrivate Sub Option1_Click(Index As Integer)选择查询标准nameflag = FalseIf Index = 0 ThenIf nameflag = True Thennameflag = FalseEnd IfEnd IfIf Index = 1 ThenIf nameflag = False Then nameflag = TrueEnd IfEnd IfEnd Sub图5.5信息查询界面(6)成绩查询源代码Private Sub Commandl_Click()Dim str As StringAdodd.CommandType = adCmdTextAdodc1.RecordSource = select * from wjsc where sno = & Trim(Text1.Text)& and psenior= & Trim(Combo1.Text) & 按学号查询 Adodd.RefreshIf Adodd.Recordset.RecordCount = 0 ThenMsgBox 不存在此纪录!请重新输入,,警告End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub图5.6成绩查询界面结束语通过这次的实验,我对数据库在生活中的广泛应用有了更深的体会,同时 也加深了对 SQL2000 的认识,了解了相关的 VB 知识,尤其对数据库与开发程序 的链接有了进一步的认识。这次课程设计我最大的收获并不是对书本知识的巩 固,而是通过实验我的自学能力得到了很好的锻炼,实践能力也提高了不少。 只凭上课对这门学科的学习还是不够的,在设计的开始阶段进展很慢。但是通 过网上查资料,与同学讨论,互相学习渐渐的把理论知识与实践相结合。后来 的设计也就没有那么摸不着门路了。当然,在这次课程设计中我还有很多没有解决的问题:不会使用存储过程 返回结果给变量;也没能掌握两个表以上的查询功能,只能基于单表的查询, 添加,删除等,以至功能不是很完善。对于这一点我有很大的遗憾,如果可以 实现的话,相信我可以实现更加完善的功能。如实现对班级专业的成绩统计, 实现灵活的成绩查询等等。总结以上,这次课程设计,我收获很多。不管怎样,今后我会更加努力学 习这门课程,不断提高自己。参考文献1 陶宏才.数据库原理及设计.清华大学出版社.2002年2 范立南. SQL Server 2000 实用教程.清华大学出版社.1999年3 李香敏. SQL Server 2000 编程员指南.北京希望电子出版社.2000年4 黄梯云.管理信息系统.高等教育出版社.2009年5 王珊,萨师煊.数据库系统概论.高等教育出版社.2006年
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!