学生学籍管理系统实验报告.docx
《学生学籍管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统实验报告.docx(16页珍藏版)》请在冰点文库上搜索。
学生学籍管理系统实验报告
学生学籍管理系统
一、系统简介··························································1
二、需求分析··························································1
1.数据需求·······················································1
(1)数据字典···················································1
(2)数据流图···················································3
2.功能需求·······················································5
三、数据库设计························································5
1.概念结构设计···················································5
(1)局部E-R图·················································5
(2)整体的E-R图···············································6
2.逻辑结构设计···················································6
(1)E-R图转换为关系模型·········································6
(2)关系模式的优化·············································7
3.物理结构设计···················································7
(1)基本表·····················································7
(2)视图和索引·················································9
四、系统功能设计······················································9
五、系统功能实现······················································10
1.程序的运行环境·················································10
2.系统的开发环境·················································11
3.数据库的创建和链接·············································11
六、实验总结··························································11
七、参考文献··························································12
一、系统简介
学生学籍管理是教育教学单位不可缺少的部分,它的内容对教学管理和学校的决策者都非常重要。
给学校教学管理提供了很大的方便性,提高了工作效率。
但是一直以来人们用传统人工的方式管理文件文档,这种管理方式效率低,保密性差,出错不易更改,同时也耗费了大量的人力财力,时间一长,将产生大量的文件数据,这对于查找,维护,更新都带来了很大的困难。
随着科学技术的不断发展,尤其是计算机软件水平的日益提高,使得以上问题得到了很好的解决。
使用计算机可以方便的对大量数据进行增加,删除,更新等操作。
它有着人工管理永远无法比拟的优点:
检索迅速,查找方便,可靠性大,存储量大,保密性好,寿命长,成本低等。
例如:
通过校园网,我们可以方便的进行学生信息查询,学生成绩的添加,以及最新的教务通知等。
当然,这些都离不开数据库技术和网络技术的支持。
数据库是数据管理的最新技术,是计算机计算机技术的重要分支,也是计算机领域发展最快的学科之一。
学生学籍管理系统就是数据库在网络上应用。
综上,开发这样的一套软件十分必要。
同时旧的人工管理机制必将被以计算机为基础的信息管理所取代,从而实现对数据的高效,长久,安全的管理。
二、需求分析
1.数据需求:
(1)数据字典:
主要涉及到以下几个表,分别为:
学生基本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。
以下是数据字典:
学生基本信息表:
Sno
学生的学号
Sname
学生姓名
Ssex
性别
Ssbirth
学生的出生年月
课程表:
Cno
课程号
Cname
课程名
Cperiod
学时
专业信息表:
Pno
专业编号
Pname
专业名称
Pnum
专业人数
Pdept
专业所在院系
课程设置表:
Cno
课程号
Cname
课程名
Cperiod
学时
学生选课表:
Sno
学生的学号
psenior
学期
cno
课程编号
grade
成绩
学生与专业之间的属于表:
sno
学生的学号
pno
专业的编号
管理人员的密码表:
uname
管理人员的编号
upasw
管理人员的密码
(2)数据流图:
第一层:
学生名单
学生信息
成绩
统计表成绩单
第二层:
学生信息成绩
班平均成绩升留级表
各科平均成绩
第三层:
学生信息合格单新生信息
第四层:
班级
学生信息
统计成绩
各科
第五层:
学生信息升留级名单学生记录
2.功能需求:
(1)实现学生基本情况的录入,修改,删除等基本操作。
(2)对学生基本信息提供灵活的查询方式。
(3)完成一个班级的学期选课功能。
(4)实现学生成绩的录入,修改,删除等基本操作。
(5)能方便的对学生的个人学期成绩进行查询。
(6)具有成绩统计,排名等功能。
(7)具有留级,休学等特殊情况的处理功能。
(8)能输出常用的各种报表。
(9)具有数据备份和数据恢复功能。
三、数据库设计
1.概念结构设计
(1)局部E-R图:
(2)整体的E-R图:
课程名
2.逻辑结构设计
(1)E-R图转换为关系模型
由ER图可见:
图中有三个实体:
学生,课程,和专业;三个关系:
学生选课关系,学生与专业之间的属于关系,专业的课程设置。
由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:
学生基本信息表:
S(sno,sname,ssex,sbirth,spasw)
课程基本信息表:
C(cno,cname,cperiord)
专业基本信息表:
P(pno,pname,pnum,psdept)
对应的属性分别为:
学号,姓名,性别,出生日期,登陆密码
课程编号,课程名,学期
专业编号,专业名,专业人数,所在院系
对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一部分。
以上ER图的三个联系为多对多,所以转换为关系模式为:
课程设置表:
pc(pno,psenior,cno)与设置相连的实体有专业和课程,根据多对多的转换原则:
专业的码pno,课程的码cno以及设置本身的属性共同构成该关系模式的码,所以该关系模式的码为全码。
学生选课表:
SC(sno,psenior,cno,grade)与选课相连的实体有学生和课程,同上由学生的码sno,课程的码cno以及选课本身的码psenior构成该关系模式的码,即(sno,cno,psenior)。
此外,选课表还有一个非主属性grade。
学生与专业的属于表:
SP(sno,pno)与属于关系相联的实体是学生和专业。
同上由学生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。
(2)关系模式的优化:
学生表S(sno,sname,ssex,sbirth,spasw)
该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。
另外,该关系模式的函数依赖为:
sno->sname,sno->ssex,sno->ssex,
sno->sbirth,sno->spasw,其间不存在传递依赖,故学生表可达到3NCF.
课程表C(cno,cname,cperiod)
该关系模式的码为cno,cname,设主码为cno,因为该关系模式中的码都是单一的,即不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。
另外,该关系模式的函数依赖为:
cno->cname,cno->cperiod,cname->cno,cname->cperiod.因为cno->cname,cname->cperiodcno->cperiod,所以该关系模式中存在传递依赖,不能达到3NCF。
故优化该表为:
C1(cno,period),C2(cname,cperiod).从而两表都达到了3NCF。
专业表P(pno,pname,pnum,pdept)
该关系模式的码为pno,pname,其中设定pno为主码。
同课程表,该表不存在有两个或者两个以上属性组成的码,即不存在非主属性对码的部分函数依赖,故可达到2NCF。
另外,此关系模式的函数依赖为:
pno->pname,pno->pnum,pno->pdept,pname->pno,pname->
pnum,pname->pdept;由于存在传递依赖:
pno->pname,pname->pnum,pno->pnum.,所以未能达到3NCF。
优化分解为:
P1(pno,pnum,pdept),P2(pname,pnum,pdept)
明显,两表都达到了3NCF.
课程设置表PC(pno,psenior,cno),
该关系模式的码为:
(pno,psenior,cno)为全码,所以可直接达到3NCF
学生选课表SC(sno,psenior,cno,grade)
该关系模式的码为:
(sno,psenior,cno),因为不存在非主性grade对码的部分函数依赖,所以可达到2NCF,由于不存在函数依赖(表中的函数依赖只有(sno,psenior,cno)->grade)故也达到了3NCF
属于表SP(sno,pno)
该关系模式的码(sno,pno)也是全码,所以也达到了3NCF
用户表U(uname,upasw)
该表的码为uname,明显upasw对码uname是完全函数依赖的,从而达到2NCF。
另外因为只有两个属性,所以不存在传递函数依赖,该表达到了3NCF
3.物理结构设计
(1)基本表
学生表S:
列名
主码
允许空
数据类型
约束条件
sno
是
否
Char(10)
sname
否
是
Char(20)
ssex
否
是
Char
(2)
只可取男或女
sbirth
否
是
Char(20)
spasw
否
是
Char(10)
课程表c1:
列名
主码
允许空
数据类型
约束条件
cno
是
否
Char(10)
cperiod
否
是
smallint
课程表c2:
列名
主码
允许空
数据类型
约束条件
cname
是
否
Char(20)
cperiod
否
是
smallint
专业表p1:
列名
主码
允许空
数据类型
约束条件
pno
是
否
Char(10)
pnum
否
是
smallint
Pnum>=0
psdept
否
是
Char(20)
专业表p2:
列名
主码
允许空
数据类型
约束条件
pname
是
否
Char(20)
pnum
否
是
smallint
Pnum>=0
psdept
否
是
Char(20)
课程设置表pc:
列名
主码
允许空
数据类型
约束条件
pno
是
否
Char(10)
psenior
是
否
Char(10)
cno
是
否
Char(10)
学生选课表sc:
列名
主码
允许空
数据类型
约束条件
sno
是
否
Char(10)
psenior
是
否
Char(10)
cno
是
否
Char(10)
grade
否
是
smallint
grade>=0
学生与专业属于表sp:
列名
主码
允许空
数据类型
约束条件
sno
是
否
Char(10)
pno
是
否
Char(10)
管理人员密码表u:
列名
主码
允许空
数据类型
约束条件
uname
是
否
Char(20)
upasw
否
否
Char(10)
(2)视图,索引
a.索引:
本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。
在查询时即引用主索引即可。
表s的主索引列为:
sno
表c1的主索引列为:
cno
表c2的主索引列为:
cname
表p1的主索引列为:
pno
表p2的主索引列为:
pname
表sc的主索引列为:
(pno,psenior,cno)
表sp的主索引列为:
(sno,pno)
表u的主索引列为:
uname
b.视图:
虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考虑
到数据库与前台开发程序的连接比较复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取。
四、系统功能设计
成绩维护
添加
更新
删除
基本信息维护
添加
更新
删除
五、系统功能实现
1.程序的运行环境
类别
标准配置
最低配置
计算机硬件
Pentium(R)4CPU,128MB内存
Pentium(R)4CPU1.8GHZ,128MB内存
软件
操作系统
WindowsXPServicePack1,WindowsXPServicePack2,andWindows2000
Windows98
ODBC数据源
命名为wangjiaDSN的数据源,连接系统数据库wangjia
其他
2.系统开发环境
类别
标准配置
最低配置
计算机硬件
Pentium(R)4CPU,128MB内存
Pentium(R)4CPU1.8GHZ,128MB内存
软件
操作系统
WindowsXPServicePack1,WindowsXPServicePack2,andWindows2000
Windows98
数据库后台程序
MicrosoftSQLServer2005
前台开发程序
MicrosoftVisualBasic6.0
ODBC数据源
命名为wanjiaDSN的数据源,连接系统数据库wangjia
其他
3.数据库的创建和链接
本系统的前台开发工具为Microsoftvisualbasic6.0,除了一些常用的控件Commandbutton,Combobox,Textbox和Label外,这里还使用了控件ADO和DataGrid。
ADO用来链接数据库与前台开发程序,指定链接的数据源和要访问的数据,并通过绑定要使用的数据来显示所获得的数据。
DataGrid控件的作用是以表格的形式显示结果中的全部数据,但允许在表格中增加,删除和修改纪录。
具体的链接过程如下:
ADO(步骤)
(1)选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择MicrosoftADODataControl6.0(OLEDB)复选框,单击确定,工具栏中会出现ADO数据控件的图标,其微帮助名称为:
Adodc。
(2)在当前窗体上添加一个ADO控件。
(3)打开ADO的属性页,设置使用的ODBC数据资源的名称,(如果没有则新建一个)即我所使用的数据库wangjiaDSN;设置身份验证,包括用户名称和密码;设置纪录源,命令类型选择adCmdTable.(因为我所用到的记录源都是表,所以设置为该属性。
adCmdTable.表示的是数据源的属性是一个表名,表示其结果级是对该表执行无条件查询后得到的结果),表名或存储过程名则选择自己所要用到的表。
到此,便链接成功。
DataGrid(步骤)
(1)同ADO控件一样,选择选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择MicrosoftDataGridControl6.0(OLEDB)复选框,单击确定,工具栏中会出现DataGrid数据控件的图标。
(2)在当前窗体上添加一个DataGrid控件。
(3)打开DataGrid的属性页,设置标题名,列,列标题与其对应的数据段。
颜色,字体等可根据需要设定。
将DataGrid的Recordsource设置为该窗体对应的Adodc;另外可检索字段和删除字段,这样可以显示自己想要的字段,而不是将adodc所对应的内容全部显示出来。
到此,链接成功。
六.总结
通过这次的实验,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQLServer2005的认识,了解了相关的VB知识,尤其对数据库与开发程序的链接有了进一步的认识。
这次课程设计我最大的收获并不是对书本知识的巩固,而是通过实验我的自学能力得到了很好的锻炼,实践能力也提高了不少。
由于之前没有接触过VB,对这门语言很多知识都不了解,在实验的开始阶段进展很慢。
但是通过网上查资料,与同学讨论,互相学习渐渐的掌握了一定的知识。
后来的实验也就没有那么摸不着门路了。
当然,在这次课程设计中我还有很多没有解决的问题:
不会使用存储过程返回结果给变量;也没能掌握两个表以上的查询功能,只能基于单表的查询,添加,删除等,以至功能不是很完善。
对于这一点我有很大的遗憾,如果可以实现的话,相信我可以实现更加完善的功能。
如实现对班级专业的成绩统计,实现灵活的成绩查询等等。
本系统具有传输可靠,操作简单,安全可靠等优点。
由于时间问题,以及我个人所学知识有限,本系统还未能做到十全十美,有很多方面的实际问题没有考虑完全,对此我会再接再厉,努力学习充实自己,进而完善本系统,以方便更多用户的使用。
七,参考文献
实验指导书西安科技大学出版罗晓霞编著
数据库系统概论(第四版)高等教育出版社出版王珊,萨师煊编著
数据库系统及其应用电子工业出版社雷景生主编
数据库技术及其在网络中的应用清华大学出版社出版王育平于丽杰