*******************实践教学*******************兰州理工大学计算机与通信学院2010年春季学期计算机语言C课程设计题目:图书信息管理系统专业班级:姓名:学号:指导教师:成绩:目录摘要......................................................................................................................1前言......................................................................................................................2正文......................................................................................................................31.问题描述......................................................................................................32.1、需求分析.....................................................................................................32、系统总体设……………………………………………………………….错误!未定义书签。3.详细设计.......................................................................错误!未定义书签。4.软件使用说明书...........................................................错误!未定义书签。总结.......................................................................................错误!未定义书签。参考文献...................................................................................错误!未定义书签。致谢....................................................................................................................12附件Ⅰ部分原程序代码......................................................................................131摘要建立一个“图书信息管理系统”,系统以菜单方式工作,编写存放有图书信息,包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。设计“图书信息管理系统”,使之能提供以下功能:系统以菜单方式工作;图书信息录入功能(图书信息用文件保存);图书信息浏览功能;查询和排序功能:按书名查询、按作者名查询;图书信息的删除与修改。关键词:图书信息管理;录入;文件;浏览;排序;查询;测试;修改;删除;2前言随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着。图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。由于图书馆主要从事大量的图书资料的储存和流通。所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。本系统即是结合实际情况开发的图书资料管理系统。系统开发的主要任务是针对原来系统的时效性、数据的正确性、操作的方便性上的不足,解决图书流通上的问题。实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。3正文1.问题描述由于教职工和学生人数的增加,藏书规模的扩大,使得图书借阅查询信息管理工作繁重,而且手工管理效率极低,急需一个软件系统解决这些问题。为了跟上时代潮流,规范管理,提高图书馆的管理水平和管理效率,为全校职工和学生提供方便、快捷、准确的图书信息服务,开发一个“图书信息管理系统”。2.需求分析与总体设计一、系统需求分析1、对信息进行条形码管理。2、对成批数据的高效录入,系统对录入的数据的合法性应做出有效性检查,能够对数据进行增加、删除、修改等基本操作。3、实现对数据的动态查询且查询速度快,并能够将数据以统一形式的报表打印输入。4、系统应该提供相应的代码维护功能。5、该系统应具有对数据库中重要数据的备份和恢复的功能。6、该系统应该采用用户匿名登录的方式,以保护系统数据库的重要敏感数据。二、系统总体设计1:整体结构流程图概述本数据库管理系统主要由图书检索、图书管理、数据维护、图书统计、打印输出、系统维护六大模块组成,各模块功能如下:1、主控模块主控模块的功能是控制各个分支模块,它是实现各模块功能的总控制台2、图书检索模块是图书管理系统的重要模块之一,是读者快速查询图书的途径本模块的功能是按书名、书号、作者、出版社、价格3、图书管理模块是图书管理员操作模块,读者是无权进入的。本模块由读者编号和姓名查询、借出图书登记、归还图书登记和续借图书登记子模块构成,在“借出图书登记”中管理员对借出的图书进行登记,图书库中这本书的库存减少,而读者在归还图书的图书库中这本书库存增加。对超过规定日期未归还图书的读者进行计算罚金。图书管理相当于图书管理人员日常的管理工作,即图书借阅、归还和4续借等登记工作。4、数据维护模块是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。在软件设计时考虑到读者编号、书名、书号是唯一的,因此,在修改读者或图书中,读者记录或图书记录一经登记“读者编号”和“姓名”便不能修改,在删除读者或图书时只要读者有借出图书未还或库存图书原有数量与现有库存量不符便不能删除。5、数据统计模块由读者统计、图书统计、借出图书分类统计、到期未归还图书读者统计几部分组成。6、打印输出模块由读者信息、打印借出图书、打印到期未归还图书的读者和打印图书简介卡片组成,本模块由图书管理员控制。7、退出系统退出系统模块由帮助和退出构成。3图书信息管理流程图1.书籍信息表如表3-3-1所示表3-3-1图书信息表属性名数据类型长度允许空备注书名char50no作者char30no价格moneyyes图书信息管理书籍信息表读者信息表管理员信息表借阅图书表归还图书表编号书名作者出版日期价格5出版社char50yes出版日期datetimeyes是否借阅char5no2.读者信息表如表3-3-2所示表3-3-2读者信息表属性名数据类型长度允许空备注编号char10no主码姓名char15no性别char5yes男,女所属系char30yes电话char20yes电子邮件char20yes备注char20yes3.管理员信息表如表3-3-3所示表3-3-2管理员信息表属性名数据类型长度允许空备注职工编号char10no主码姓名char15no性别char5男,女联系电话char204.借阅图书表如表3-3-4所示表3-3-4借阅图书表属性名数据类型长度允许空备注ISBNchar10no主码,外键图书(IBSN)编号char10no主码,外键读者(编号)职工编号char10no主码,外键管理员(职工编号)书名char50no6借书日期datetimeno5.归还图书表如表3-3-5所示表3-3-5归还图书表属性名数据类型长度允许空备注ISBNchar10no主码,外键图书(IBSN)编号char10no主码,外键读者(编号)职工编号char10no主码,外键管理员(职工编号)书名char50no还书日期datetimeno3.3.4数据库实施4.1数据库及表结构的创建设本系统使用的数据库名为图书管理,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQLServer2000数据库系统中实现这些逻辑结构。下面是创建数据库及基本表的SQL语句1.建立数据库createdatabase图书管理系统2.建立管理员表createtable管理员(职工编号char(5)primarykey,姓名char(10)notnull,性别char(5),联系电话int,)3.建立读者表createtable读者(编号char(5)primarykey,7姓名char(5)notnull,性别char(5),所属系char(10),电话int,电子邮件char(5),备注char(20),)4.建立书籍表createtable书籍(ISBNchar(5)primarykey,书名char(20)notnull,条形码char(5)unique,作者char(10)notnull,价格int,出版社char(10),出版日期datetime,类别char(10)notnull,)5.建立借阅图书表createtable借阅图书(ISBNchar(5)notnull,编号char(5)notnull,职工编号char(5)notnull,书名char(20)notnull,借书日期datetimenotnull,6.建立归还图书表createtable归还图书(ISBNchar(5),编号char(5),8职工编号char(5),书名char(20),还书日期datetime,4.2用户表视图为了提高在表中搜索元组的速度,基于该用表关系图,可以定义出各种常见的用户表视图用来作为统计信息。如:1.图书信息createview图书信息asselect*from图书where是否借出like‘1’2.读者信息createview读者信息(读者编号,姓名,ISBN,书名,还书日期)asselect读者.编号,姓名,ISBN,书名,借书日期+30from读者,借阅图书where读者.编号=借阅图书.编号4.3用SQL实现功能设计1.管理员操作(1)注册insertinto管理员values(#职工编号,#姓名,#性别,#联系电话)(2)注销deletefrom管理员where职工编号like'#职工编号'(3)增加读者insertinto读者values(#编号,#姓名,#性别,#所属系,#电话,#电子邮件,#备注)(4)删除读者9deletefrom读者where编号like'编号'(5)修改读者信息update读者set姓名=#姓名,电话=#电话where编号='编号'(6)增加图书insertinto书籍(ISBN,书名,作者,价格,出版社,出版日期,是否借出)values(#ISBN,#书名,#作者,#价格,#出版社,#出版日期,#是否借出)(7)删除图书deletefrom书籍where........(8)修改图书信息update书籍set书名=#书名,作者=#作者,价格=#价格where........(9)读者借阅图书begintransactioninsertinto借阅图书(ISBN,学号,职工编号,书名,借书日期,应还日期)values(#ISBN,#学号,#职工编号,#书名,#借书日期,#应还日期)update书籍set是否借阅=‘1’whereISBN=#ISBNcommit(10)读者归还图书begintransactioninsertinto归还图书(ISBN,学号,职工编号,书名,还书日期)values(#ISBN,#学号,#职工编号,#书名,#还书日期)update书籍set是否借阅=‘0’wh