数据库课程设计-高校教材管理系统

数据库课程设计-高校教材管理系统

ID:6789233

大小:218.50 KB

页数:18页

时间:2018-01-25

上传者:U-5097
数据库课程设计-高校教材管理系统_第1页
数据库课程设计-高校教材管理系统_第2页
数据库课程设计-高校教材管理系统_第3页
数据库课程设计-高校教材管理系统_第4页
数据库课程设计-高校教材管理系统_第5页
资源描述:

《数据库课程设计-高校教材管理系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

高校教材管理系统分析报告1前言近年来,随着高教改革的深入和持续多年的扩招,高等院校的在校大学生和研究生数量迅速增加,因而对教材的需求量和使用也相应地大幅度增加,同时,由于在各大高校,为适应人才市场的需要,也在不断地进行着专业的调整和更新,课程改革也在逐步推进,从而使得学校里所使用的教材种类越来越多,手工或效率较低的软件对于教材管理而言,工作人员和管理部门的劳动强度越来越大,为获取有效的信息所花费的时间也越来越长;现代科学技术和人文管理等知识更新很快,相应的是大学的教材也应该随之快速更新,但在使用传统的方法进行教材管理时,在教材选用计划的制定、订购、进货、入库、发放、结算、统计、信息收集和反馈等一系列的管理过程中,其周期过长,使得教材的选用和淘汰等明显地滞后于知识、技术的发展和教材本身版本的更新,而很多的用人单位在聘用大学毕业生时,却要求他们具有较新、甚至是最新的知识结构。因此,教材管理水平的高低直接影响教学工作的进行、教学质量的提高和合格人才的培养,开发和使用高校教材管理信息系统是改善和提高教材管理水平的一个重要途径。1.1.论文选题的理由和实际意义教材管理是高等院校教学管理工作的一个重要组成部分,是一项琐碎、复杂而又十分细致的工作,其中教材信息计算、发放、核算的工作量相当冗杂,并且,随着各高校的招生规模逐年扩大,招生专业也在不断增加,教材的种类也大幅提升,给高校的教材管理工作带来了一定的难度,再加上实行手工操作的话,发放教材信息须手工填制大量的表格,然后再进行汇总,耗费工作人员大量的时间和精力。18 随着计算机技术的飞速发展,计算机在学校管理中应用的普及,利用计算机实现学校教材信息的管理势在必行。利用计算机支持学校高效率完成学校教材信息管理的日常事务,是适应现代学校制度要求、推动学校教材管理走向科学化、规范化的必要条件。计算机进行教材信息发放工作,不仅能够保证教材信息核算准确无误、快速输出,而且还可以利用计算机对有关教材信息的各种信息进行统计,服务于仓库管理部门其他方面的核算和仓库管理处理,同时,计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好节省资源等,这些优点能够极大地提高教材信息管理的效率。1.2.国内外关于该课题的研究现状及趋势本项目开发计划,完全只针对此次系统开发制定,用于系统设计的整个环节。内容为:需求阶段,设计阶段,实施阶段,收尾阶段组成软件系统采用管理员制度登陆,只有获得管理员权限的用户才能登陆系统并进行操作。管理员password存在数据库中,数据库表已加独立密码。软件对于学生信息的管理需做到保密,一些涉及家庭住址电话等私人信息,在进入系统查询时是隐藏的,只有通过调阅其他信息才能查看隐藏信息。本软件利VisualBasic技术来实现。VisualBasicAccess也是微软公司推出的基于windows服务器端的脚本编写环境和指令执行环境的编程技术,使得它可以创建和运行界面友好、交互的windows服务器端应用程序,也具备可靠的连接使用,要求一般,用利用教材科办公室现有的计算机就可以完成该系统的运行。2需求分析18 目前很多学校教材科的管理工作还停留在纸质记录的原始方式上。教师书面提出需要使用的教材名,上交后由系领导审核,审核通过后,由教学秘书统计需要的数量,然后提交给教材科。之后教材科还有大量的工作,统计各系各班级需要某种教材的数量,任课教师需要的数量,教材科需要的数量,然后进行订购。领书的时候,要学生提供领书单才能领书,还要记得立刻做记录。这样的操作过程不但繁琐,而且在这一系列的操作中,无论哪一步出了错误,对最终教学工作的正常进行都有很大的影响。鉴于以上的原因,通过对教材科的具体工作进行分析,编写了网上教材管理系统,用来方便的管理教材科的教材管理工作。这个系统是面向教材科库房的信息管理系统。系统通过对各种信息的录入、修改、查询、删除、统计等各个功能的实现,基本上可以满足教材科对于征订、领取的管理,在很大的程度上提高教材库存管理的效率和合理性。系统的功能和传统管理模式相比较,毫无疑问会大大提高教材科的运作效率,辅助提高学校的相关部门决策水平,管理水平,为减少差错,节省人力,减少学生领书时间,提高师生满意度,提供有效的技术保障。高校教材管理系统已经越来越多的应用到了很多高校之中,并起到了良好的效果。个操作复杂,同时具有大规模的分布性和灵活多变的特点。因此,如何处理好在一个高度分布的网络环境中,多种软硬件平台的管理、部署和升级,适应实际的需求变化,为用户提供一种可靠的低成本运作模式,成为高校教材管理解决方案成功的关键。针对这一情况,希望研究出一套高校教材管理系统,用来对教材出入库情况、信息情况等信息进行系统高效的管理。而本课题的研究正是要在这个系统之下开发出教材管理模块,提高教材管理的工作效率,给用户带来更大效益。本系统的开发,将信息化的管理带入到教育行业,在一定程度上,避免的由于人工操作发生的错误,提高了效益。2.1功能介绍系统B/S部分的主要功能:⑴提供对教材库和目录库中书目的检索(按ISBN、书名、出版社、作者为关键字),方便老师预订和教务部门审核和预订教材,方便老师、学生查询教材.⑵提供学生查询其所在班级及个人领书记录的功能,方便教材管理部门与班级对帐.系统C/S部分的主要功能:其主要功能模块包括:教材预订,教材入库,教材管理,教材出库,字典管理,查询统计,系统维护等。18 3系统设计3.1系统设计的目标目标:给出应用领域中1、数据项与数据项之间的关系2、数据操作任务的详细定义,为后续设计做准备可分四个步骤,四个步骤见下图:1.对应用领域的调查分析2.定义数据库系统支持的信息和应用3.定义数据库操作任务4.定义数据项步骤一、教材管理领域的调查分析调查阶段:调查应用领域的组织结构、业务流程和数据流程,其中系统需要的组织机构有学生领书信息、征订员输入信息、采购员采购信息、用户管理信息四个组织机构。3.2管理系统的流程在普通教材的管理应用中,一般的流程有以下几个:18 1、学生管理员将需要领取的教材定下来,然后将数据提交给数据库,在库的教材数量减去被领的教材数量;如果在库的教材数量没有要求的多,则不予执行;2、用户管理员将需要征订的教材信息输入到数据库中,然后自动将该教材的属性定为“征订”,等待采购员审核通过可以采购。如果征订的信息需要修改,则征订员可以修改所输入的信息,但不可以修改其他征订员输入的信息;3、用户管理员可以对用户进行管理,如添加用户,分配用户的角色,如“普通用户”、“用户管理员”;删除用户信息;修改用户信息;3.3定义1、系统名称:高校教材信息管理系统2、数据库管理软件:MicrosoftSQLServer3、数据库设计采用软件:MicrosoftOfficeVisio20034、系统采用C/S体系结构:Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器)端用于提供数据服务。5、运行平台:windows2000/xp/linux6、数据库的安全性设计:(登录用户、数据库用户、数据库角色等方面是如何设置的)18 3.4系统模块图18 3.5数据流图3.6E-R图教材编号教材教材名称教材出版社教材作者出版日期教材价格教材实体E-R图18 教材仓库供应商班级入库1NNMNM出库订货整体E-R图教材号号仓库教材入库数量入库时间入库单价仓库实体E-R图3.7数据表的设计:·初订表的设计department—订书系别(char[20]);profession—订书专业(char[30]);grade—订书班级(char[10]);ISBN—ISBN号(char[20]);bookname—教材名称(char[40]);18 bookauthor—编作者(char[30]);bookpublish—出版社(char[30]);publishdate--出版日期(包含版次)(char[20]);·预定审核表:ISBN—ISBN号(char[20]);bookname—教材名称(char[40]);price—单价(money);bookauthor—编作者(char[30]);bookpublish—出版社(char[30]);publishdate--出版日期(包含版次)(char[20]);quantity—预定数量(int)。·预订计划表/预订历史记录表:booknumber—教材编码(char[10]);quantity—预定数量(int);datetime—预定时间·入库表:booknumber—教材编码(char[10]);quantity—入库数量(int);datetime—入库时间(datetime)。·出库表:num—标识号(系别+专业+年级+班级),由8位数字表示(char[8]),它的组成部分为:前两位为系别号,其次两位为专业号,接着两位为年级号,最后两位为班级号;booknumber—教材编码(char[10]);quantity—出库数量(int);datetime—出库时间(datetime)。·库存表:booknumber—教材编码(char[10]);quantity—库存量(int)。18 ·教材信息表:booknumber—教材编码(char[10]);ISBN—ISBN号(char[20]);bookname—教材名称(char[40]);price—单价(money);bookauthor—编作者(char[30]);bookpublish—出版社(char[30]);publishdate--出版日期(包含版次)(char[20])。·系别表:departmentID—系别号(char[2]);department—系别名称(char[30])。·专业表:professionID—专业号(char[2]);profession—专业名称(char[30])。·年级表:gradeID—年级号(char[2]);grade—年级名称(char[10])。·班级表:classID—班级号(char[2]);class—班级名称(char[10])。·教材类别表:typeID—类别号(char[3]);type—类别名称(char[20])。·登录表:customer—用户帐号(char[10]);由数字、字母及特殊符号组成;password—登录密码(char[16]),由数字、字母及特殊符号组成。type—用户类型(char[10]),由汉字组成。18 3.8用例举例3.8.1数据表编号应用名称应用功能定义输入信息输出信息tblBookInfo教材信息存储教材信息教材信息教材信息tblBookStorage库存表存储教材数量教材数量教材数量tblBookAttribute教材属性存储教材属性教材属性教材属性tblClass班级存储班级班级名称班级名称tblUser用户表存储用户信息用户信息用户信息tblRole角色表存储角色角色名角色名图2.6应用定义表步骤三.定义数据库操作任务:操作任务是指应用某个相对独立的事务。由于技术有限,本系统的数据库操作任务,即事务没有相关的介绍;步骤四.定义数据项:数据项定义是以数据库操作任务定义为基础,步骤如下:1.从DBIPO提取原子数据项;2.把有联系者撮合为组,以组为单位定义数据项,组内的原子数据项称为属性;3.根据用户和实际领域的信息模型补充其它数据项;18 4.写出数据项如下的描述信息:语义定义:名字和实际意义;完整性约束:数据的类型、宽度、小数位、值约束和空值约束等;5.把各数据项的描述信息按下表格式组成数据字典。教材信息表特征IDBookNameAuthorPublishDataPricePublishBookMarkMemoAttribute类型IntvarcharvarchardatetimemoneyvarcharcharTextint宽度20102020允许空值否否否否否否否是否值约束惟一惟一图2.7教材信息表教材属性表特征IDBookAttribute类型IntVarchar宽度20允许空值否否值约束惟一惟一图2.8教材属性表库存表特征IDStorageBookId类型IntIntInt宽度允许空值否否否18 值约束惟一惟一惟一图2.9库存表选定教材表特征IdBookIdClassIdTakenNum类型IntIntIntInt宽度允许空值否否否否值约束惟一惟一惟一惟一图2.10选定教材表用户表特征IDUserNamePassWordEmailRole类型IntvarcharCharCharInt宽度84020允许空值否否否否否值约束惟一惟一惟一惟一惟一图2.11用户表CREATETRIGGERtri_takecourseONtb_stucourseFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMtb_stucourse,insertedWHEREtb_stucourse.CourseNum=inserted.CourseNum)>40BEGINPRINT'所对应课程选课人数不能超过40个!'ROLLBACKENDELSEIF(SELECTCOUNT(*)FROMtb_student,insertedWHEREtb_student.StudentNum=inserted.StudentNum)>5BEGINPRINT'对应学生的选课不能超过5门!'ROLLBACKENDELSEIF(SELECTIfTakeCourseFROMtb_control)='0'BEGINPRINT'当前不是选课时间段!'ROLLBACKENDCREATEPROCproc_studentcourse@StudentNumchar(10),@StudentNamechar(10)OUT,@CourseNamevarchar(20)OUT,@CourseCreditfloatOUT,@TeacherNamechar(10)OUTASSELECT@StudentNum=tb_student.StudentNum,@StudentName=tb_student.StudentName,@CourseName=tb_course.CourseName,@CourseCredit=tb_course.CourseCredit,@TeacherName=tb_teacher.TeacherNameFROMtb_stucourse,tb_course,tb_student,tb_teacherWHEREtb_stucourse.StudentNum=tb_student.StudentNumANDtb_stucourse.CourseNum=tb_course.CourseNumANDtb_stucourse.TeacherNum=tb_teacher.TeacherNumandtb_student.StudentNum=@StudentNum3.8.2视图⑴预订计划表→教材信息表18 将教材信息先录入教材信息表,预订教材时,通过核对教材编码来确定预订信息的正确性:如果教材信息表中存在该编码,则可预订;反之系统提示错误信息,并重新输入。并且在有必要的时候可以通过视图来查询该教材的详细信息。⑵入库表→教材信息表管理人员将教材入库时,可以通过核对教材编码来确定教材信息的正确性,并且在有必要的时候可以通过视图来查询该教材的详细信息。⑶出库表→教材信息表管理人员将教材出库时,可以通过核对教材编码来确定出库教材信息的正确性,并且在有必要的时候可以通过视图来查询该教材的详细信息。⑷库存表—教材信息表库存表通过教材编码与教材信息表相连,通过视图就可以查询库存中教材的详细信息。3.8.3存储过程3)建立查询学生课程存储过程proc_studentcourse,其作用为查询指定学生所有课程的选课记录,其关键代码如下所示:1.CREATE PROC proc_studentcourse  2.@StudentNum char(10),  3.@StudentName char(10) OUT,  4.@CourseName varchar(20) OUT,  5.@CourseCredit float OUT,  6.@TeacherName char(10) OUT  7.AS  8.    SELECT @StudentNum=tb_student.StudentNum  9.            ,@StudentName=tb_student.StudentName  10.            , @CourseName=tb_course.CourseName  11.            ,@CourseCredit=tb_course.CourseCredit  12.            , @TeacherName=tb_teacher.TeacherName  18 1.    FROM tb_stucourse,tb_course,tb_student,tb_teacher  2.    WHERE tb_stucourse.StudentNum=tb_student.StudentNum AND  3.            tb_stucourse.CourseNum=tb_course.CourseNum AND  4.            tb_stucourse.TeacherNum=tb_teacher.TeacherNum and  5.            tb_student.StudentNum=@StudentNum  4结论经过这一个学期数据库原理与应用的学习,我对数据库的使用更加顺手了,尤其是最近两个星期的数据库最后一个实验(数据库设计)给我带来了挑战,数据库设计的是一个系统,而非一两张表,因此在对待表与表之间的关系的时候要有一种宏观上的认识。  在设计这个数据库系统的时候我学到了许多新知识,如使用PowerDesign数据模工具对数据库逻辑结构的建立,转换为物理模型,然后连接到SQLServer,再进行视图、触发器和存储过程的设计等。在使用过程中,查阅了不少资料,包括网上和书籍等,锻炼了我的自学能力! 18 5参考文献[1]SQLServer2000[Z].http://www.microsoft.com/china/sql/default.mspx[2]李存斌.数据库应用技术-SQLServer2008简明教程[M].北京:中国水利水电出版社,2001.25~35[3]庞山山,刘静.基于多角色的登录模块设计和实现[J].科技信息,2011年31期.201~20218 6附录:读书笔记两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很好的机会。通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。  我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。18   在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言的规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。  我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。18

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭