学生学籍管理系统课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1学生学籍管理系统1.问题描述随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。该课程设计要求设计一个学籍管理的数据库系统,数据库中包含学生的基本信息,学校院系信息,班级信息以及课程设置的信息。同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。1.1系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有:院系管理,包括院系的查询、插如、编辑。班级管理,包括班级的查询、插如、编辑、人数的管理等。课程管理,包括课程的查询、插入、编辑。学生信息查询管理,包括学生基本信息的查询如学号、年龄、所属班级、所属院系、民族、籍贯等。学生学籍管理,可根据院系来查看学生的基本信息,还可对学生进行查询、编辑、删除等操作。学生注册管理,提供给系统学生的基本信息,如学号、年龄、所属班级、所属院系、籍贯、政治面貌等。成绩录入管理,登记学生的每门课程的成绩。成绩查询管理,提供给系统学生的学号从而查询出学生在校期间每门课程的成绩。资料统计管理,统计各专业学生某学期的学习成绩情况。以考试为例,分作90~100分,80~89分,70~79分,60~69分,60分以下五档人数及占总人数的百分率。按照学生的年龄大小、地区的来源、政治面貌作人数的统计等。21.2系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图1所示的系统功能模块图。图1系统功能模块图2.数据库系统设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。设计数据库系统时应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括以下几个步骤:需求分析、概念设计、逻辑设计、物理设计、数据库实施、数据库运行和维护。2.1需求分析用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库接受能充分满足各种信息的输入和输出。针对学生学籍管理系统的需求,通过对学生学籍管理工作过程进行分析,设计如下所示的数据项和数据结构:院系信息,包括的数据项有:院系名称、院系代码。班级信息,包括的数据项有:班级名称、班级代码、班级人数、院系代码。课程信息,包括的数据项有:课程名称、课程号、课程学时、院系代码。学生学籍管理系统院系管理班级管理课程设置学生信息查询学生成绩查询学生成绩录入学生学籍管理资料统计管理添加修改删除删除添加修改添加修改删除添加修改删除按年龄统计按地区统计按成绩统计人数按政治面貌统计3学生信息,包括的数据项有:学生学号、学生姓名、所属班级代码、所属院系代码、年龄、性别、民族、籍贯、政治面貌、奖惩记录、休复转退记录。成绩信息,包括的数据项有:学生学号、所选课程代码、成绩。2.2概念设计概念模型是数据库系统的核心和基础。根据以上分析结果,绘制出本系统的E-R图,如图2所示。学生院系课程班级所属所属成绩NMN11N院系代码院系名称班级代码班级名称院系名称班级人数课程号课程名称课程学时院系名称班级代码院系代码性别年龄籍贯民族政治面貌奖惩记录休复转退记录姓名学号图2系统E-R图2.3逻辑设计现在需要将上面的数据库概念结构(E-R图)转化为Oracle数据库系统所支持的数据模型,也就是数据库的逻辑结构。根据数据库的需求分析和概念设计,设计了名为student的数据库。数据库由下面多个表组成,其详细信息如表1-*所示。4表1-1院系信息表列名数据类型可否为空说明departmentIDChar(20)Notnull院系代码(主键)DepartmentnameVachar(50)Notnull院系名称表1-2班级信息表列名数据类型可否为空说明classIDChar(20)Notnull班级代码(主键)ClassnameVarchar(50)Notnull班级名称DepartmentIDChar(20)院系代码(外键)studentnumbersmallint班级人数表1-3课程信息表列名数据类型可否为空说明courseIDChar(20)Notnull课程号(主键)coursenameVarchar(50)Notnull课程名称scorehoursmallint课程学时departmentIDChar(20)院系代码(外键)表1-4成绩信息表列名数据类型可否为空说明courseIDChar(20)Notnull学生学号studentIDChar(20)Notnul课程代码scoresmallint分数表1-5学生信息表列名数据类型可否为空说明studentIDChar(10)Notnull学生学号(主键)StudentnameChar(20)Notnull学生姓名ClassIDChar(20)班级代码(外键)DepartmentIDChar(20)院系代码(外键)SexChar(2)性别AgeSmallint年龄NationVarchar(10)民族NativeplaceVarcahr(50)籍贯StatusVarchar(20)政治面貌RewardVarchar(50)奖惩记录leavetypeVarchar(10)休复转退记录52.4物理设计2.41确定关系模型的存取方法在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。2.42确定数据库的存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该学籍管理系统的数据量小,而且只作实验之用,所以我只用把数据存储在使用的电脑硬盘上,不用作更多的安排。2.43触发器与存储过程设计触发器的设计1.student表上的出发器触发器:对于学生基本信息表,当注册学生信息时,限制学生性别只能填写’男’或者’女’,当填写错误时,系统自动提示错误;当填写年龄时,年龄限制在0和150之间,如果填写错误,系统自动报错。createtriggerinsert_or_update_agebeforeinsertorupdateonstudentforeachrowbeginif(:new.age0)or(:new.age150)thenraise_application_error(-20501,'请输入正确的年龄!');endif;end;createtriggerinsert_or_update_ssexbeforeinsertorupdateonstudentforeachrowbeginif(:new.sex'女')or(:new.sex'男')thenraise_application_error(-20501,'请输入正确的性别!');endif;end;62.score表上的触发器,对于成绩表,当填写成绩时,成绩限制在0和100分之间,如果填写错误,系统自动报错。createtriggerinsert_or_update_sscorebeforeinsertorupdateonscoreforeachrowbeginif(:new.score0)or(:new.score100)thenraise_application_error(-20501,'请输入正确的分数!');endif;end;2.44存储过程的设计在本系统中,我设计了一个比较简单的存储过程,主要是在学生选择一门课程时,自动把成绩置为0,因为学期初刚开始学一门课程,并无成绩,所以设计了这样一个存储过程来实现成绩的变化。createprocedureinsert_score(studentIDchar,courseIDchar,scoresmallint)asbegininsertintoscorevalues(studentID,courseID,-1);commit;end;2.5数据库实施首先配置oracle数据库要用到的服务,开始---控制面板---服务,启动oracleseverlab和oracletnslistener两项服务,然后在oracle数据库中建立一个学生数据库,填写数据库的用户名和密码(在学校五楼机房用户名scott,密码为tiger),然后连接,最后检测数据是否连接正确。然后创建要建立的表,如下:--------------------------创建院系信息表------------------------createtabledepartment(departmentIDchar(20)primarykey,departmentNamevarchar(50)notnull);向院系表中插入数据(一部分,以下同上)insertintodepartmentvalues('001','数学系');insertintodepartmentvalues('002','工程物理');insertintodepartmentvalues('003','土木工程');-------------------创建班级信息表----------------createtableclass(classIDchar(20)primarykey,7classNamevarchar(50)notnull,departmentIDchar(20),studentnumbersmallint,foreignkey(departmentID)referencesdepartment(departmentID));向班级信息表中插入数据insertintoclassvalues('GM021','工艺美院02级1班','006',5);insertintoclassvalues('MA021','数学02级1班','001',5);insertintoclassvalues('GW031','公物系03级1班','002',5);--------------------------创建课程信息表-------------------createtablecourse(courseIDchar(20)primarykey,coursenamevarchar(50)notnull,scorehoursmallint,departmentIDchar(20),foreignkey(departmentID)referencesdepartment(departmentID));向课程信息表中插入数据insertintocoursevalues('1','微积分(上)',4,'001');insertintocoursevalues('2','微积分(下)',4,'001');insertintocoursevalues('3',

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功