




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息工程学院数据库应用系统开发课程设计论文题 目:图书管理系统数据库设计学 号:09206026专业班级:信管06级(1)班姓 名:王小亚指导老师:杨丽丽完成日期:2009年元月摘 要在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书借阅信息管理效率的目的。采用数据库技术生成的图书馆借阅管理系
2、统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了大学图书馆借阅系统。系统采用c/s模式,实现了借还书的方便、高效性、有效性和及时性。本文通过作者设计和开发一个中小型高校图书馆管理系统的实践,阐述了高校图书管理软件中所应具有的基本功能、设计、实现。分别从设备管理和用户管理等角度进行处理,并对需求分析、概念设计、逻辑设计、物理设计、数据库实施和维护进行了阐述,实行设备管理的计算机自动化关键字:图书借阅;人员管理目录1 引言11.1 本课题(项目)的研究意义11.2 本论文的目标与任务12 数据库设计22.1
3、需求设计22.1.1引言22.1.2需求分析阶段的目标和任务22.1.3处理对象22.1.4处理功能及要求22.1.5安全性和完整性要求32.1.6 需求分析阶段成果32.2概念设计阶段82.2.1引言82.2.2任务与目标82.2.3阶段结果82.3逻辑设计阶段92.3.1逻辑设计的任务与目标92.3.2数据组织102.3.3数据处理122.4物理设计阶段132.4.1物理设计的任务与目标132.4.2数据存储方面132.4.3系统功能模块132.5数据库实施阶段152.5.1建立数据库、数据表、视图、索引152.5.2数据入库172.5.3创建各个功能的存储结构172.6系统调试和测试17
4、3实习心得174存在问题和建议18致谢18参考文献19附录1存储过程的定义20附录2数据查看和存储过程功能验证25附录3所有的sql语句351 引言当今时代是飞速发展的的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多
5、的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限,以及借阅天数等用人工计算,手抄进行。数据处理工作量大,容易出错。由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基于环境。基于这个问题,我认为有必要建立一个图书管理系统,使图书管理
6、工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改图书情况。1.1 本课题(项目)的研究意义在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能
7、化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。1.2 本论文的目标与任务针对各大中专院校的图书管理现状,设计出适合一般学校的计算机辅助图书管理系统。实现对图书基本信息、读者基本信息进行计算机辅助管理,完成借书和还书有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现。一、图书管理部分:包括图书信息管理和类别管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。二、借阅管理部分:包括借书管理和还书管理,其功能是实现对各部分数
8、据内容的添加和查询等操作。三、读者管理部分:包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加和修改等操作。2 数据库设计2.1 需求设计2.1.1引言需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。在这一章里,我将给出系统的数据流图,功能结构图,数据字典,为系统的设计奠定基础。随着计算机技术的飞速发展,其应用方面已渗透到社会生活的各个领域。它已经成为我们学习和工作的得力助手。在学校,尤其是在一些高校,图书是学校的一项重要资源,图书的管理也是学校的一项常规性的重要工作。而长期以来,学生图书管理都是依赖人工进行的。现今,有很多的学校
9、都已经开始使用计算机进行图书信息管理,并且起得良好的效果。近年来我校招生情况越来越好,所以图书管理工作越来越繁重,但由于种种原因,管理人员并没有增加,因此原有的人工管理工作已不能适应现行的工作需要。同时,陈旧的人工管理也不利于推广计算机应用。为使图书管理工作科学化、规范化,就必须采用计算机辅助管理。2.1.2需求分析阶段的目标和任务1明确企业的业务类型 2明确应用系统软件种类 3明确对网络功能指标的要求2.1.3处理对象学生信息:学生证号,学生姓名,学生性别,学院,专业,班级,图书证号,办证日期图书信息:图书编号,图书名,图书作者,出版社,单价,图书分类,关键字、摘要,图书数量,图书状态,所属
10、藏馆编号,所属馆藏名借阅信息:学生证号证号,学生姓名,图书编号,图书名,借书时间,规定还书时间,借书数量需添加新书信息:需添加图书名,需添加图书作者,需添加图书出版日期需删除图书信息:需删除图书名,需删除图书编号管理员信息:管理员编号,管理员姓名,管理员性别2.1.4处理功能及要求1.能够对一定量的学生信息进行管理,方便管理员操作学生信息主要包括:(1)存储管理学生信息、修改学生信息(2)添加新生信息、删除离校学生信息(3)查询学生信息2.能够存储一定量的图书信息,方便管理员操作相关数据主要包括:(1)存储图书信息、修改图书信息(2)添加新图书信息、删除旧图书(3)查询图书信息3学生能借阅相应
11、图书,管理员清楚掌握图书借阅情况包括:(1)学生借阅图书、归还借阅图书(2)对学生进行图书催还(3)对超期归还图书进行罚款4.管理工作人员信息2.1.5安全性和完整性要求安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。近而可以满足用户的基本数据安全性要求。完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以不取值。根据实际需要,采取一定的手段来满足用户的完整性需求。详细完整性要求见于系统的逻辑设计
12、阶段。2.1.6 需求分析阶段成果2.1.6.1设备管理系统业务流程图从读者角度考虑的业务流程图2.1.6.2图书管理系统数据流程图顶层数据流图第2层数据流图:(学生办理、撤销图书证,学生借阅,学生还书,学生查询,管理员查询,第3层数据流图:(学生办理图书证) 第3层数据流图:(学生撤销图书证)第3层数据流图(学生归还图书)第3层数据流图:(学生借阅图书)第3层数据流图(查询信息)第3层数据流图(添加新图书)第3层数据流图(删除旧图书)第3层数据流图(工作人员信息管理)2.1.6.3图书管理系统数据字典(1)数据项表1.1数据项列表数据项编号数据项名存储结构与其它数据项的关系数据项含义取值范围
13、di-1snochar(10)学号di-2snamechar(10)姓名di-3ssexchar(2)性别男、女di-4sdptchar(20)学院di-5smajorchar(20)专业di-6sclasschar(10)班级di-7scnochar(10)图书证号di-8stdatetime办证日期di-9bnochar(20)图书编号di-10bnamechar(40)图书名di-11bwriterchar(30)图书作者di-12bconcernchar(20)出版社di-13bpricefloat单价di-14bptchar(10)出版时间di-15bsortchar(10)图书分类
14、di-16bkeywordchar(40)摘要、关键字di-17bamountsmallint图书可借数量=0di-18bstatechar(10)图书状态可借、不可借di-19bpnochar(10)图书所属藏馆编号di-20bpnamechar(10)图书所属藏馆名di-21lsnochar(10)同di-7图书证号di-22lsnamechar(10)学生姓名di-23lbnochar(20)同di-8图书编号di-24lbnamechar(40)图书名di-25lbtimedatetime借书时间di-26lrtimedatetime规定还书时间di-27lbnumbersmallin
15、t借书数量=0bstatechar(10)not null图书状态可借、不可借bpnochar(10)not null图书所属藏馆编号bpnamechar(10)图书所属藏馆名表2.3借阅信息表列名数据类型可否为空数据说明取值范围lsnochar(10)not null图书证号lsnamechar(10)学生姓名lbnochar(20)not null图书编号lbnamechar(20)图书名lbtimedatetimenot null借书时间lrtimedatetimenot null规定还书时间lbnumbersmallintnot null借书数量=4表2.4需添加图书信息表列名数据类型
16、可否为空数据说明取值范围nbnamechar(40)not null需添加图书名nbwriterchar(30)not null需添加图书作者nbptchar(10)需添加图书出版社表2.5需删除图书信息表列名数据类型可否为空数据说明取值范围obnochar(20)not null需删除图书编号obnamechar(40)需删除图书名表2.6管理员信息表列名数据类型可否为空数据说明取值范围anochar(10)not null管理员编号anamechar(10)not null管理员姓名asexchar(2)not null管理员性别男、女2.3.2.4用户子模式定义表2.7用户子模式定义编号
17、用户子模式(view)作用(共性:提供数据保密和用户安全机制v-1studentview便于查询和更新学生基本信息v-2bookview便于学生查询图书基本信息v-3lendview便于查询借阅信息、对超期归还或损坏进行罚款v-4administratorview便于对管理员信息进行查询表2.8学生基本信息试图列名数据类型可否为空数据说明取值范围snochar(10)not null学号snamechar(10)not null姓名sdptchar(20)not null学院smajorchar(10)not null专业scnochar(10)not null图书证号stdatetimeno
18、t null办证日期表2.9图书基本信息视图列名数据类型可否为空数据说明取值范围bnochar(20)not null图书编号bnamechar(20)not null图书名bwriterchar(20)图书作者bsortchar(10)图书分类bamountsmallintnot null图书可借数量bstatechar(10)not null图书状态可借、不可借表2.10借阅基本信息视图列名数据类型可否为空数据说明取值范围lsnochar(10)not null图书证号lsnamechar(10)学生姓名lbnochar(20)not null图书编号lbnamechar(20)图书名lb
19、timedatetimenot null借书时间lrtimedatetimenot null规定还书时间lbnumbersmallintnot null借书数量=0) not null,bstate char(10) not null,bpno char(10) not null,bpname char(10),)(3)建立需添加新书信息表:create table newbook(nbname char(40),nbwriter char(30),nbpt char(10),primary key (nbname,nbwriter),)(4)建立需删除图书信息表:create table o
20、ldbook(obname char(40),obno char(20) primary key,foreign key (obno) references book(bno),)(5)建立管理员基本信息表:create table administrator(ano char(10) primary key,aname char(10) not null,asex char(2) check(asex=男 or asex=女),)(6)建立图书借阅信息表:create table lend(lsno char(10),lsname char(10),lbno char(20),lbname
21、char(40),lbtime datetime not null,lrtime datetime not null,lbnumber smallint check(lbnumber0),primary key (lsno,lbno),foreign key (lsno) references student(sno),foreign key (lbno) references book(bno),)2.5.1.3建立视图(1)建立学生信息视图:create view studentview(学号,姓名,学院,专业,图书证号,办证日期)asselect sno,sname,sdpt,smajo
22、r,scno,stfrom student(2)建立图书信息视图:create view bookview(图书编号,图书名,作者,分类,可借数量,状态)asselect bno,bname,bwriter,bsort,bamount,bstatefrom book(3)建立图书借阅信息视图:create view lendview(学号,姓名,图书编号,图书名,借阅日期,规定归还日期,借阅数量)asselect lsno,lsname,lbno,lbname,lbtime,lrtime,lbnumberfrom lend(4)建立管理员信息视图:create view administrat
23、orview(管理员编号,姓名,性别)asselect ano,aname,asexfrom administrator2.5.1.4建立索引create clustered index lendtime on lend(lbtime);create clustered index studentdep on student(sdpt);2.5.2数据入库系统包括学生基本信息管理、图书基本信息管理、管理员信息管理、借阅信息管理、新旧图书信息管理等四大功能模块,共有6张基本表,采用事先在excel中录入数据,然后使用sql server 2000数据导入/导出向导功能,直接将数据导入到相应的基本
24、表中。2.5.3创建各个功能的存储结构表3.1建立的存储过程列表编号存储过程名称定义作用p-1studentinsert详见附录1-1在student表中插入一元组p-2bookinsert详见附录1-2在book表中插入一元组p-3newbookinsert详见附录1-3在newbook中插入一元组p-4oldbookinsert详见附录1-4在oldbook中插入一元组p-5administratorinsert详见附录1-5在administrator中插入一元组p-6lendinsert详见附录1-6在lend表中插入一元组p-7studentdelete详见附录1-7删除studen
25、t表中一元组p-8bookdelete详见附录1-8删除book表中一元组p-9newbookdelete详见附录1-9删除newbook表中一元组p-10oldbookdelete详见附录1-10删除oldbook表中一元组p-11administratordelete详见附录1-11删除administrator表中一元组p-12lenddelete详见附录1-12删除lend表中一元组p-13lendupdate详见附录1-13更新lend表中一元组p-14renewal详见附录1-14更新lend中一元组实现续借功能p-15querystudent详见附录1-15查询studentvi
26、ew视图p-16querybook详见附录1-16查询bookview视图p-17querylend详见附录1-17查询lendview视图p-18queryadministrator详见附录1-18查询administratorview视图2.6系统调试和测试对该图书管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:(1)通过视图查看各个基本表和视图中的数据(见附录2)(2)检测各个存储过程的功能:(见附录2)3实习心得通过这次数据库设计,我深刻的感到自身的不足,也感到要做出一个好的系统决不是一件容易的事情,它必须要经过详细的调查,了解所有涉及的流程和数据,考虑到各种可能出现的情况
27、及处理的方法。还有建立与之相适应的数据库,要全面,还要完整,这也是很困难的。除此之外,还有很多,例如,安全性和完整性问题,对存储过程的优化以及效率等问题,这些都不是简单的就可以处理的。这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。在整个数据库设计中,需求分析是最为重要的一个环节,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。如果需求分析没有做到位,在概念结构
28、设计阶段的制表和关系模型装换都会有很大困难。不完善的需求分析往往会导致不断返工。这次课程设计加深了我对数据库系统概论相关知识和sql server相关功能的理解。例如对建立基本表、视图、索引、存储过程、触发器等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在导入导出数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以避免很多的错误。我认识到,在做数据库之前,做好十分充分的准备是十分的必要,也十分的重要,要想在这个方面比较精通,必须下苦功夫。4存在问题和建议由于初次做较完整的数据库,在各方面都表现出
29、了不足之处,这个系统做的比较粗略,也存在很多的漏洞,其问题如下:1.导入的课程(从教务处导出的)形式属于自己想的;2.在建立存储过程时,有些建立的不太合理,还有缺陷,限于时间问题,未能修改;3.为有效性检验有所遗漏;4.安全性和完整性考虑不够周全建议:老师能在实习之前给出论文排版格式,以便于实习时对每天的实习结果进行总结排版,我感到最后论文排版时有很大改动非常麻烦。 老师能更加详细的给我们解释需求分析的目的、要求等。因为需求分析是整个数据库系统设计的关键,而在实习开始我们并不能非常明确的知道首先应该做什么、怎么做。希望老师能多多给出意见。致谢经过为期两周的数据库系统课程设计,我学到了很多知识。
30、在李书琴和杨丽丽老师的悉心指导和帮助下,我顺利完成了图书管理系统课程设计。我还要感谢尉继承老师、孙健敏老师、陈勇老师和杨晓辉老师。没有老师们热情耐心的帮助,我不可能完成这次实习。尤其是杨丽丽老师,她总是以她的丰富的数据库编程知识给我很多中肯的意见,耐心检查更正我的错误。我还要感谢我的同学,通过与同学的交流讨论之后,我更加完善了我的课程设计,让我受益匪浅。再次感谢大家。参考文献【数据库系统概论(第四版)】 作者:萨师煊 出版社:高等教育出版社 2006年5月【数据库设计】 作者:stephens 出版社:机械工业出版社 2003年6月 附录1存储过程的定义(1)studentinsert的定义:
31、create procedure studentinsertsno char(10),sname char(10),ssex char(2),sdpt char(20),smajor char(20),sclass char(10),scno char(10),st datetimeasinsert into studentvalues(sno,sname,ssex,sdpt,smajor,sclass,scno,st)(2)bookinsert的定义:create procedure bookinsertbno char(20),bname char(40),bwriter char(30)
32、,bconcern char(20),bpricefloat,bpt char(10),bsort char(10),bkeyword char(20),bamount smallint,bstatechar(10),bpno char(10),bpnamechar(10)asinsert into bookvalues(bno,bname,bwriter,bconcern,bprice,bpt,bsort,bkeyword,bamount,bstate,bpno,bpname)(3)newbookinsert的定义:create procedure newbookinsertnbname c
33、har(40),nbwriter char(30),nbpt char(10)as insert into newbookvalues(nbname,nbwriter,nbpt)(4)oldbookinsert的定义:create procedure oldbookinsertobname char(40),obno char(20)asinsert into oldbookvalues(obname,obno)(5)administratorinsert的定义:create procedure administratorinsertano char(10),aname char(10),as
34、ex char(2)as insert into administratorvalues(ano,aname,asex)(6)lendinsert的定义:create procedure lendinsertlsno char(10),lsname char(10),lbno char(20),lbnamechar(20),lbtimedatetime,lrtime datetime,lbnumber smallintasinsert into lendvalues(lsno,lsname,lbno,lbname,lbtime,lrtime,lbnumber)update bookset ba
35、mount=bamount-lbnumberwhere bno=lbno(7)studentdelete的定义:create procedure studentdeletesno char(10)asdeletefrom lendwhere lsno=snodeletefrom studentwhere sno=sno(8)bookdelete的定义:create procedure bookdeletebno char(20)as deletefrom lendwhere lbno=bnodeletefrom bookwhere bno=bno(9)newbookdelete的定义:crea
36、te procedure newbookdeletenbname char(40),nbwriter char(30)asdeletefrom newbookwhere nbname=nbname and nbwriter=nbwriter(10)oldbookdelete的定义:create procedure oldbookdeletebno char(20)as deletefrom lendwhere lbno=bnodeletefrom bookwhere bno=bnodeletefrom oldbookwhere obno=bno(11)administratordelete的定
37、义:create procedure administratordeleteano char(10)asdeletefrom administratorwhere ano=ano(12)lenddelete的定义:create procedure lenddeletesno char(10),bno char(20)asdeclare lbnumber smallintselect lbnumber=lbnumberfrom lendwhere lsno=sno and lbno=bnoupdate bookset bamount=bamount+lbnumberwhere bno=bnode
38、letefrom lendwhere lsno=sno and lbno=bno(13)lendupdate的定义:create procedure lendupdatesno char(10),bno char(20),lbnumber smallintasupdate lendset lbnumber=lbnumber-lbnumberwhere lsno=sno and lbno=bnoupdate bookset bamount=bamount+lbnumberwhere bno=bno(14)renewal的定义:create procedure renewalsno char(10),bno char(20),lbtime datetime,lrtime datetimeasupdate lendset lbtime=lbtime where lsno=sno and lbno=bnoupdate lendset lrtime=lrtimewhere lsno=sno and lbno=bno(15)querys
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公司员工下半年工作方案
- 幼儿老师个人2025年工作方案
- 2025年其次学期幼儿园教研工作方案演讲稿
- 外科围术期护理
- 2025年中考工作方案
- 配血知识培训课件
- 氨基酸产品课件
- 强生产品经理课程介绍
- 自动检测技术与仪表控制系统压力检测
- 提升执行力与创新力
- 针刺伤警示教育课件
- 人工智能训练师(初级-五级)职业技能鉴定理论考试题库-上(单选题)
- 《半导体集成电路》课件
- 快递公司与菜鸟驿站合作协议
- 战时机场抢修课件
- 钢铁材料化学成分表
- 三级安全教育试题(公司级、部门级、班组级)
- JGJ120-2012建筑基坑支护技术规程-20220807013156
- (中级)餐厅服务员职业鉴定理论考试题及答案
- 《如何有效组织幼儿开展体能大循环活动》课件
- 大数据平台数据治理项目建设方案
评论
0/150
提交评论