学生信息管理系统文档模板供参考.docx
《学生信息管理系统文档模板供参考.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统文档模板供参考.docx(17页珍藏版)》请在冰豆网上搜索。
学生信息管理系统文档模板供参考
江西理工大学应用科学学院信息工程系课程设计说明书
课程名称:
数据库原理与技术
课题名称:
学生信息管理系统
指导老师评语:
得分:
目录
1系统概述1
1.1现状分析1
1.2系统目标1
2系统数据库分析2
2.1数据库需求分析2
2.2数据库概念结构分析3
2.3数据库逻辑结构分析4
2.4数据字典5
3数据库操作部分7
3.1数据库创建7
3.2数据库的更新操作8
3.3数据库的查询操作10
3.4数据库的备份和还原操作10
4系统规范化设计13
4.1数据库表的规范化设计13
4.2数据库的完整性设计13
4.3数据库的维护和安全性设计14
5总结16
5.1收获17
5.2不足和改进17
参考文献18
致谢19
1系统概述
1.1现状分析
随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生流动情况,奖惩情况等各种信息量也成倍增长,而目前许多高校的学生信息管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的学生信息管理系统来提高管理工作的效率。
基于互联网的学生信息管理系统,在学生信息的规范管理、科学统计和快速查询方面具有较大的实用意义。
它提高了信息的开放性,大大地改善了对学生最新信息查询的准确性。
1.2系统目标
开发学生信息管理系统所采用开发工具为MicrosoftSQLServer,此系统的运行环境为Windows98,Windows2000,WindowsXP,Windows7等。
开发此数据库的目标有以下几点:
(1)便于管理、查找学生信息,例如:
籍贯、年龄、专业、奖罚和学生流动情况等;
(2)通过所需要了解的信息来查找学生,节约了时间,且准确的查找出信息,不会出现遗漏;
(3)方便信息的输出与输入,并对信息的分类有着明显的作用,简化了分类过程,缩短了为学生信息分类的时间。
(4)在记录某学生的信息时,能快速查到有关该学生的全部信息。
(5)方便对在校学生的信息审查工作,和档案处理工作,有助于提高学生信息档案管理的工作效率。
2系统数据库分析
2.1数据库需求分析
本系统是一套简单实用的学生信息管理工具,该系统针对方便管理学生信息的特点,根据在校学生有关信息,查找信息设计开发的。
其模块功能完善,界面美观友好,操作简便快捷,为学校的学生信息档案自动化管理提供了完善的解决方案。
主要功能包括:
学生基本信息的登记,修改,查询;学生流动情况的登记,修改,查询;学生奖惩情况的登记,修改,查询等。
系统功能结构图2.1所示
图2.1系统功能结构图
2.2数据库概念结构分析
在学生信息管理系统中,一个学生可以有多种流动情况,一种流动情况对应一个学生,则学生与流动情况之间具有一对多的联系;一个学生可以有多种获奖情况,一种获奖情况对应一个学生,则学生与获奖情况之间具有一对多的联系;一个学生可以有多种处分情况,一种处分情况对应一个学生,则学生与处分情况之间具有一对多的联系。
学生实体属性E_R分图如图2.2.1所示:
图2.2.1学生实体属性E-R分图
流动情况实体属性E_R分图如图2.2.2所示:
图2.2.2流动情况实体属性E-R分图
获奖情况实体属性E_R分图如图2.2.3所示:
图2.2.3获奖情况实体属性E-R分图
处分情况实体属性E_R分图如图2.2.4所示:
图2.2.4处分情况实体属性E-R分图
学生信息管理系统E_R图如图2.2.5所示:
2.2.5学生信息管理系统E-R图
2.3数据库逻辑结构分析
根据2.2.5学生信息管理系统E-R图,转换成关系模式为:
Student(Sno,Sname,Sclass,Stel,Ssex,Sbno,Spl,Sdate)
Flow(Fno,Ftype,Fexplain,Ftime,Sno)
Award(Ano,Atype,Aexplain,Atime,Sno)
Punish(Pno,Ptype,Pexplain,Ptime,Sno)
2.4数据字典
(1)表名:
Student(Sno,Sname,Sclass,Stel,Ssex,Sbno,Spl,Sdate),其含义:
学生基本信息表,存储学生的有关信息。
其结构如表3.1所示:
表3.1学生基本信息表Student
字段名
字段类型
是否为空
说明
备注
Sno
CHAR(15)
NOTNULL
学号
主键
Sname
CHAR(20)
NULL
姓名
Sclass
CHAR(10)
NULL
专业班级
Stel
CHAR(15)
NULL
联系电话
Ssex
CHAR
(2)
NULL
性别
Sbno
CHAR(10)
NULL
寝室号
Spl
CHAR(10)
NULL
政治面貌
Sbirth
Datetime(8)
NULL
出生年月
(2)表名:
Flow(Fno,Ftype,Fexplain,Ftime,Sno),其含义:
流动情况表,存储流动信息。
其结构如表3.2所示:
表3.2流动情况表Flow
字段名
字段类型
是否为空
说明
备注
Fno
CHAR(10)
NOTNULL
流动编号
主键
Ftype
CHAR(20)
NULL
流动类型
Fexplain
NVARCHAR(100)
NULL
流动说明
Ftime
DATETIME(8)
NULL
流动时间
Sno
CHAR(15)
NULL
学号
外键
(3)表名:
Award(Ano,Atype,Aexplain,Atime,Sno),其含义:
获奖情况表,存储获奖信息,其结构如表3.3所示:
表3.3获奖情况表Award
字段名
字段类型
是否为空
说明
备注
Ano
CHAR(10)
NOTNULL
获奖编号
主键
Atype
CHAR(20)
NULL
获奖类型
Aexplain
NVARCHAR(100)
NULL
获奖说明
Atime
DATETIME(8)
NULL
获奖时间
Sno
CHAR(15)
NULL
学号
外键
(4)表名:
Punish(Pno,Ptype,Pexplain,Ptime,Sno),其含义:
处分情况表,存储处分信息,其结构如表3.4所示:
表3.4处分情况表Punish
字段名
字段类型
是否为空
说明
备注
Pno
CHAR(10)
NOTNULL
处分编号
主键
Ptype
CHAR(20)
NULL
处分类型
Pexplain
NVARCHAR(100)
NULL
处分说明
Ptime
DATETIME(8)
NULL
处分时间
Sno
CHAR(15)
NULL
学号
外键
3数据库操作部分
3.1数据库创建
用SQL语句创建数据表Student并建立相应属性的约束:
CreatetableStudent
(Snochar(15)primarykey,
Snamechar(20),
Sclasschar(10),
Stelchar(15),
Ssexchar
(2)check(Ssex='F'orSsex='M'),
Sbnochar(10),
Splchar(10),
Sbirthdatetime
);
关系图如图3.1.1所示:
图3.1.1学生信息管理系统关系图
测试数据如表3.1.1~3.1.4所示:
表3.1.1学生基本信息数据表
表3.1.2流动情况数据表
表3.1.3获奖情况数据表
表3.1.4处分情况数据表
3.2数据库的更新操作
1、在Student表中插入一条学生信息('200815110','高达','英语082','15083457895','F','10#306','团员','1989-7-7')。
insert
intoStudent
values('200815110','高达','英语082','15083457895','F','10#306','团员','1989-7-7');
运行结果为:
2、将学生200915122的性别改为’M’。
updateStudent
setSsex=’M’
whereSno=200915122;
运行结果为:
3、删除姓名为高达的学生记录。
delete
fromStudent
whereSname='高达';
运行结果为:
3.3数据库的查询操作
1、查询性别为’F’的所有学生。
select*
fromStudent
whereSsex='F';
运行结果为:
2、查询获得国家奖学金的学生学号及姓名。
selectStudent.Sno,Sname,Sclass,Stel
fromStudent,Award
whereAtype='国家奖学金'andStudent.Sno=Award.Sno;
运行结果为:
3.4数据库的备份和还原操作
1、备份数据库选择学生信息管理数据,右键选择“所有任务”,然后选择“备份数据库”,弹出对话框如图3.4.1所示,点击“添加”,弹出对话框如图3.4.2所示,选择要保存备份文件的路径和指定文件名,点击“确定”完成备份工作。
图3.4.1备份数据库
图3.4.2选择备份路径
2、还原数据库首先确保“数据库”下有“学生信息管理”数据库,如果没有建立一个以“学生信息管理”命名的数据库,然后选择“学生信息管理”,右键选择“所有任务”,然后点击“还原数据库”,弹出对话框如图3.4.3所示,选择“从设备”还原,点击“选择设备”,谈车对话框如图3.4.4所示,点击“添加”,出现对话框如图3.4.5所示,选择数据库的备份文件,点击“确定”完成还原数据库的工作。
图3.4.3还原数据库
图3.4.4选择还原设备
图3.4.5选择还原路径
4系统规范化设计
4.1数据库表的规范化设计
此学生信息管理系统属于第三范式。
4.2数据库的完整性设计
设计学生基本信息表与流动情况的触发器,防止数据库的异常操作。
用企业管理器为表Student创建一个级联更新触发器trrigger_s。
要求:
若修改Student表中一学生的学号,则表Flow中与该学生相关的学号自动修改。
1、启动企业管理器,选择数据库学生信息管理,将其展开,单击“表”对象。
2、打开“触发器属性”对话框。
在右窗格中,用鼠标右键单击表对象Student,在打开的快捷菜单中选择“所有任务”→“管理触发器”选项,打开“触发器属性”对话框,如图4.2.1所示。
图4.2.1触发器属性图
3、创建SQL语句。
在“文本”输入框内输入下面语句:
createtriggertrigger_sonStudentforupdateas
ifupdate(Sno)begin
declare@Sno_newchar(15),@Sno_oldchar(15)
select@Sno_new=Snofrominserted
select@Sno_old=Snofromdeleted
updateFlowsetSno=@Sno_newwhereSno=@Sno_old
end
4、单击“检查语法”按钮,检查语法正确、
5、单击“确定”按钮,保存创建的触发器。
如图4.2.2.所示.
图4.2.2创建触发器
4.3数据库的维护和安全性设计
设计user1对表Student的查询访问权限,防止非法的数据库操作。
在企业管理器中控制用户访问权限
(1)展开学生信息管理数据库,选择“用户”,右键选择“新建数据库用户”,弹出如图4.3.1所示的对话框。
图4.3.1新建用户
(2)在登录名中选择“新建”,在“名称”中填写“user1”,身份验证选“SQLServer身份验证”,密码为“1”,数据库选择“学生信息管理”,如图4.3.2所示,点击“确定”,重新输入一遍密码,如图4.3.3所示,点击“确定”。
图4.3.2新建登录
图4.3.3确认密码
2、在查询分析器中控制用户访问权限
把查询Student表的权限授给用户user1
grantselect
onStudent
touser1
验证结果如图4.3.4所示:
图4.3.4权限授权
5总结
5.1收获
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,学以致用,自我创新,从中在学到用,从用又到学,不断修改,系统更新。
5.2不足和改进
在此次课程设计中,我们存在一些不足,其中我们对现实生活中的学生信息管理系统不是很了解,以至于在分析系统功能结构图时,遇到较多问题;其次,我们对专业课程了解学习不是很深,导致我们在设计过程中常遇到问题,如在画E-R图时,常会混淆实体与实体之间的联系类型;另外,在团队合作方面,小组成员讨论问题时,有时思想不一致,未能及时有效的解决该问题。
对于这些不足,我觉得要在以下几个方面加以注意:
首先,在学习专业课的时候要注意理论联系实际。
注意将课本上的知识应用到日常的操作中,真正做到学以致用。
只有这样,才能做到目的明确,才能有足够的学习动力。
其次,在学习过程中要经常与同学、老师进行交流,讨论所遇到的问题,并一起解决。
在讨论中解决问题,会节约很多时间,并且在交流的过程中,我们也可以学到更多的东西。
参考文献
[1]刘智斌,刘玉萍,杨柳编著.《数据库原理》(第二版).重庆大学出版社,2006
[2]萨师煊,王珊编著.《数据库系统概论》(第四版).高等教育出版社,2006
[3]钱雪忠,陶向东编著.《数据库原理及应用实验指导》.北京邮电大学出版社,2006
[4]龚小勇编著.《关系数据库与SQLServer2000》.机械工业出版社,2004
致谢
本系统在设计和实现的过程中,得到邓小鸿老师的大力支持和帮助。
在系统实现阶段,邓老师从需求分析一直到写论文,对我们严格要求,精心指导使我学到很多东西,并指出本系统的不足之处,提出我继续研究的方向。
此外,在本系统的实现阶段,得到其他同学的多次帮助和支持,还有其他组员的多次讨论,使我从中得到了很多的启发。
在此一并感谢。