图书馆图书管理的数据库系统
- 格式:doc
- 大小:1.02 MB
- 文档页数:46
图书管理系统数据库1. 简介图书管理系统是一种用于管理图书馆或其他图书资源机构的软件系统。
它旨在提供一个方便的途径来管理图书的借阅、归还、查询等操作。
数据库在图书管理系统中起到了关键的作用,它用于存储和管理图书、用户、借阅记录等相关数据。
本文将介绍图书管理系统数据库的设计,包括数据库的结构和主要表的字段以及它们之间的关系。
2. 数据库结构图书管理系统数据库的结构主要包括以下几个方面:•图书信息表(book table)•用户信息表(user table)•借阅记录表(borrow table)•书架信息表(shelf table)•图书分类表(category table)下面将分别介绍这些表的字段和关系。
图书信息表存储了图书的基本信息,包括图书的编号、名称、作者、出版社、出版日期、价格等。
字段如下:字段名类型说明book_id int 图书编号(主键)name varchar(100) 图书名称author varchar(100) 作者publisher varchar(100) 出版社pub_date date 出版日期price decimal(10,2) 价格用户信息表存储了用户的基本信息,包括用户的编号、姓名、年龄、性别、联系方式等。
字段如下:字段名类型说明user_id int 用户编号(主键)name varchar(100) 用户姓名age int 用户年龄gender char(1) 用户性别(M/F)contact varchar(100) 联系方式2.3 借阅记录表借阅记录表存储了用户借阅图书的相关信息,包括借阅记录的编号、用户编号、图书编号、借阅日期、归还日期等。
字段如下:字段名类型说明borrow_id int 借阅记录编号(主键)user_id int 用户编号(外键)book_id int 图书编号(外键)borrow_date date 借阅日期return_date date 归还日期2.4 书架信息表书架信息表存储了图书馆中的书架信息,包括书架的编号、位置、容量等。
图书管理系统数据库设计1. 引言图书管理系统是一个用于管理图书馆馆藏图书的软件系统。
它提供了图书的借阅、归还、查询等功能,方便读者进行图书借阅和图书馆管理员进行图书管理。
本文档将介绍图书管理系统的数据库设计。
通过组织图书、读者、借阅记录等相关数据,实现图书管理系统的各项功能。
2. 数据库设计2.1 数据库结构图书管理系统的数据库主要包含以下几个表:•图书表(books):存储图书的基本信息,如图书编号、名称、作者、出版社等。
•读者表(readers):存储读者的基本信息,如读者编号、姓名、性别、年龄等。
•借阅记录表(borrow_records):存储图书的借阅记录,包括借阅编号、借阅日期、归还日期、读者编号等。
2.2 数据库字段2.2.1 图书表(books)•book_id:图书编号,主键•book_name:图书名称•author:作者•publisher:出版社•publication_date:出版日期•price:价格2.2.2 读者表(readers)•reader_id:读者编号,主键•reader_name:读者姓名•gender:性别•age:年龄•phone:联系电话2.2.3 借阅记录表(borrow_records)•record_id:借阅记录编号,主键•book_id:借阅图书编号,外键•reader_id:借阅读者编号,外键•borrow_date:借阅日期•return_date:归还日期2.3 数据库关系•图书表与读者表之间是多对多的关系,通过借阅记录表进行关联。
•图书表与借阅记录表是一对多的关系,一个图书可以对应多条借阅记录。
•读者表与借阅记录表也是一对多的关系,一个读者可以借阅多本图书。
2.4 数据库约束•图书编号(book_id)在图书表中是唯一的,不能重复。
•读者编号(reader_id)在读者表中是唯一的,不能重复。
•借阅记录编号(record_id)在借阅记录表中是唯一的,不能重复。
高校图书馆管理系统(SQL数据库)高校图书馆管理系统(SQL数据库)随着信息技术的发展,高校图书馆管理系统在图书馆运营中的重要性日益凸显。
为了更好地管理馆藏资源和提供优质的服务,许多高校选择使用SQL数据库作为图书馆管理系统的基础。
本文将探讨高校图书馆管理系统中SQL数据库的应用及其优势。
一、图书馆管理系统简介图书馆管理系统是高校图书馆中的核心业务系统,它涵盖了图书馆的各个环节,包括图书采购、编目、借阅、归还、查询等功能。
通过图书馆管理系统,读者可以方便地查找、借阅和归还图书,图书馆工作人员也可以高效地管理馆藏资源。
二、SQL数据库在图书馆管理系统中的应用1. 数据库设计在图书馆管理系统中,SQL数据库的设计是至关重要的一环。
通过合理的数据库设计,可以提高系统的查询效率和安全性。
例如,可以将图书馆中的书籍信息、读者信息、借阅记录等存储在不同的数据库表中,并通过外键关联它们,实现数据的联合查询。
2. 图书馆资源管理SQL数据库提供了强大的查询和管理功能,可以方便地进行图书馆资源管理。
通过SQL语句,图书馆管理员可以实现对图书馆馆藏资源进行分类、检索和统计。
同时,SQL数据库还支持数据的备份和恢复,保障了图书馆数据的安全性。
3. 借阅管理借阅管理是图书馆管理系统中的核心功能之一。
SQL数据库可以存储读者的借阅记录,包括借阅时间、归还时间、借阅状态等信息。
通过SQL查询语句,管理员可以实时监控图书的借阅情况,及时催还逾期图书。
4. 读者管理通过SQL数据库,图书馆管理员可以方便地管理读者信息。
包括读者的个人信息、借阅历史记录、借阅限制等。
管理员可以针对不同的读者类型设置不同的借阅权限,确保图书馆资源的合理利用。
5. 统计和报表SQL数据库提供了强大的统计和报表功能,方便图书馆管理员进行图书馆运营效果的评估。
通过SQL查询语句,可以得到图书馆的借阅量、图书馆藏资源的流通情况等各项指标,为图书馆决策提供有力支持。
图书馆管理系统数据库设计1、系统简要分析1。
1图书资料基本管理(1)、新书编号、登记、入库:将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库.(2)、检索查询:按照各种组合条件对书库图书进行查询,也可以进行模糊查询.(3)、图书资料统计:根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。
(4)、旧书出库处理:通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。
1.2图书资料借阅管理(1)、借还书管理:主要负责日常的借书登记、还书登记,和逾期未还图书的催还工作。
(2)、检索查询:按照各种组合条件对图书借阅情况查询,也可以进行模糊查询。
(3)、借书统计:统计各类书借阅情况,借阅次数;统计个人借书情况,打印日常报表。
(4)、定期整理图书借阅信息:将还书情况总结整理后彻底删除。
此外,图书管理人员还要定期做整理图书资料的全部图书清单、分类印图书清单、借阅清单以及整理填写各种报表等工作。
2、业务流程分析2。
1 借书业务流程2。
2 新书购进入库业务流程2。
3 还书业务流程2.4 销书业务流程3、数据流程图符号说明:实体处理逻辑数据流数据存储3. 1 系统的总数据流程图3。
2 借书处理数据流程图3。
3 还书处理数据流程图3.4 购书处理数据流程图4、数据字典4.1 数据项的描述数据项名:学号数据项含义说明:学生的唯一编号别名:数据类型:字符型长度:10取值范围:‘0000000000’-‘9999999999’取值说明:第1位为校区代码,2—3位为入学年份,.。
..与其他数据项的关系表4-1 数据项的定义表4-2 数据流的描述表4—3 处理逻辑的描述表4—4 数据存储的描述表4—5 外部实体的描述数据流编号:D1数据流名称:借书单简述:借阅者所要借的图书信息单数据流来源:借阅者数据流去向:借书处理模块数据流组成:图书编号+书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D2数据流名称:图书简述:借阅者从图书馆所借的图书数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D3数据流名称:图书简述:借阅者要准备归还给图书馆的图书数据流来源:借阅者数据流去向:还书处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D4数据流名称:不合格借书单简述:经借书处理模块验证不合格的借书单数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+书名+借阅证号等数据流量: 50张/天高峰流量:100张/天数据流编号:D5数据流名称:借书清单简述:经借书处理模块处理后的借书情况数据单数据流来源:借书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅日期+借阅证号+管理员编号等数据流量: 200张/天高峰流量:400张/天数据流编号:D6数据流名称:还书清单简述:还书信息清单数据流来源:还书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+还书日期+管理员编号等数据流量:150本/天高峰流量:400本/天数据流编号:D7数据流名称:订书单简述:订购新书的信息单数据流来源:采购员数据流去向:购书处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D8数据流名称:购书清单简述:购买图书后的信息单数据流来源:购书处理模块数据流去向:管理员数据流组成:图书名+图书数量+价格+采购员姓名+采购员编号+出版社+出版日期+供货商名称+采购日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D9数据流名称:入库新书清单简述:准备入库图书信息单数据流来源:管理员数据流去向:新书入库处理模块数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号: D10数据流名称:入库清单简述:刚新入库图书的信息单数据流来源:新书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D11数据流名称:销书计划简述:准备从书库中撤除一部分图书的计划数据流来源:管理员数据流去向:销书处理模块数据流组成:图书编号+图书名称+入库日期+管理员编号+日期+数量等数据流量:1张/6个月高峰流量:1张/月数据流编号:D12数据流名称:销书清单简述:通过销书处理刚从书库中撤除的图书信息单数据流来源:销书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名称+入库日期+管理员编号+出库日期+数量+总价等数据流量:1张/6个月高峰流量:1张/月数据流编号:D13数据流名称:借书单简述:借阅者所要借书的信息单数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D14数据流名称:不合格借书单简述:经审核处理模块处理后,不合格的借书单数据流来源:审核处理模块数据流去向:借阅者数据流组成:图书编号+图书名+借阅证号等数据流量:50张/天高峰流量:100张/天数据流编号:D15数据流名称:合格的借书单简述:经审核处理后符合规定的借书单数据流来源:审核处理模块数据流去向:书借出处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D16数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:400张/天数据流编号:D17数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:200张/天数据流编号:D18数据流名称:图书简述:借阅者从图书馆借出的图书数据流来源:图书借出处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D19数据流名称:图书简述:借阅者准备归还给图书馆的图书数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D20数据流名称:罚款通知单简述:审核处理后,发现借阅超期或损坏要求罚款的通知单数据流来源:审核处理模块数据流去向:罚款处理模块数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D21数据流名称:罚款单简述:对借阅者进行罚款的信息单数据流来源:罚款处理模块数据流去向:借阅者数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D22数据流名称:应付罚款简述:借阅者因借书超期或损坏图书应该作的赔偿数据流来源:借阅者数据流去向:罚款处理模块数据流组成:金额数据流量:40元/月高峰流量:100元/月数据流编号:D23数据流名称:图书简述:罚款处理后准备入库的图书数据流来源:罚款处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:20本/月高峰流量:50本/月数据流编号:D24数据流名称:图书简述:审核处理后合格的图书数据流来源:审核处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D25数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D26数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D27数据流名称:订书单简述:购买图书计划单数据流来源:采购员数据流去向:判定定货处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D28数据流名称:订书单简述:购买图书计划单数据流来源:判定定货处理模块数据流去向:开付款通知单数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量: 1张/3个月高峰流量:1张/月数据流编号:D29数据流名称:付款通知单简述:通知采购方支付货款的信息单数据流来源:开付款通知单数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+日期数据流量:1张/3个月高峰流量:1张/月数据流编号:D30数据流名称:订书单简述:购买图书计划单数据流来源:判定订货处理模块数据流去向:开发货票模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D31数据流名称:订书单简述:购买图书计划单数据流来源:开发货票模块数据流去向:仓库数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张月数据流编号:D32数据流名称:发货单简述:通知采购方供货单位开始发货的信息单数据流来源:仓库数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+发货日期+采购员编号+采购员姓名等数据流量:1张/3个月高峰流量:1张/月4。
图书馆管理系统S Q L数据库Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】摘要在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。
为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书借阅信息管理效率的目的。
采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中关键字:图书借阅;人员管理;图书维护。
目录1.引言随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。
作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。
因此往往是投入了大量的人力和财力却得不到高效的管理效率。
为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。
本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。
基于数据库设计的图书馆管理系统图书馆是现代学校和社会教育机构的一个重要部分,它的核心目标是为学生和公众提供良好的阅读环境、丰富的图书资源和良好的服务,以便扩展他们的知识、技能和想象力。
为了更好地实现这一目标,一个良好的图书馆管理系统是必需的,它能够协助馆员更好地管理馆藏、读者信息和资源利用情况,提高读者的满意度和馆藏的利用率。
在这篇文章中,我们将讲述一个基于数据库设计的图书馆管理系统的具体实现。
系统功能该系统提供了以下功能:1.图书管理:包括图书的入库、借出、归还、分配等功能,同时能够对图书进行分类、检索、统计等操作。
3.借阅管理:包括借阅信息的记录、到期提示、罚款管理等功能,同时还能够对图书馆的流通情况进行实时监控和统计。
4.财务管理:包括对图书馆经费的管理、收入和支出的记录、报表的生成等功能。
5.系统管理:包括用户权限设置、日志记录、备份和恢复等功能,以保障系统的可靠性和安全性。
数据库设计该系统的数据库设计如下:1.图书管理表图书ID、图书名称、图书作者、出版社、出版日期、价格、库存、状态等。
2.读者管理表读者ID、读者名称、性别、生日、电话、地址、借阅等。
3.借阅历史表借阅ID、读者ID、图书ID、借阅日期、到期日期、归还日期、罚款等。
4.图书分类表分类ID、分类名称等。
5.用户管理表用户名、密码、角色等。
6.权限管理表7.系统日志表日志ID、操作者、操作时间、操作内容等。
总结通过这个案例,我们得出了一个基于数据库设计的图书馆管理系统的具体实现,该系统能够协助馆员更好地管理馆藏、读者信息和资源利用情况,并提高了读者的满意度和馆藏的利用率。
不断完善和优化系统将有助于促进图书馆的信息化建设,实现更好的服务和质量。
图书管理系统数据库设计一、系统概述1、系统简介图书管理是每个图书馆都需要进行的工作。
一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。
2、需求分析图书管理系统的需求定义为:1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。
2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。
3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。
4.学生直接归还图书,根据图书编码修改借阅信息5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息6.管理员可以注销学生信息。
通过需求定义,画出图书管理系统的数据流图:数据流图三、数据库设计方案图表1、系统E-R模型2、设计表给出设计的表名、结构以及表上设计的完整性约束。
3、设计索引给出在各表上建立的索引以及使用的语句。
student:1.为stu_id创建索引,升序排序sql:create index index_id on student(stu_id asc);2.为stu_name创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc);插入索引操作和结果如下所示:mysql> create index index_id on student(stu_id asc);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql>book:1.为book_id创建索引,升序排列sql:create index index_bid on book(book_id);2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record);插入索引的操作和结果如下所示:mysql> create index index_bid on book(book_id);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql> create index index_brecord on book(book_record);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0borrow:1.为stu_id和book_id创建多列索引:sql:create index index_sid_bid on borrow(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid on borrow(stu_id asc, book_id asc); Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0return_table:1.为stu_id和book_id创建多列索引:sql:create index index_sid_bid on return_table(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid_r on return_table(stu_id asc, book_id asc); Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0ticket:1. 为stu_id和book_id创建多列索引:sql:create index index_sid_bid on ticket(stu_id asc, book_id asc);插入索引的操作和结果如下所示:mysql> create index index_sid_bid on ticket(stu_id asc, book_id asc); Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0manager:1.为manager_id创建索引:sql:create index index_mid on manager(manager_id);插入索引的操作和结果如下所示:mysql> create index index_mid on manager(manager_id);Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 04、设计视图给出在各表上建立的视图以及使用的语句。
图书馆管理信息系统数据库设计1 需求分析1.1系统目标大学图书馆管理信息系统为广大大学师生提供了便利的图书借阅服务。
本系统面向全体教职职工与学生,该系统根据不同的操作者,提供不同的服务,以实现图书管理系统的科学化、系统化、自动化,最大限度地为老师和学生提供方便和提供管理效率。
1.2功能分析图书馆管理信息系统的功能模块如图1.1所示。
图1.1 图书馆管理信息系统功能模块(1)读者管理1)新增读者。
新增读者时要求填写其基本的信息,包括读者号、密码、读者姓名、性别、读者类型、单位、电子邮箱等。
2)读者信息维护。
读者可以对自己的信息进行修改,图书管理员有权限对已有读者的信息进行修改和删除。
3)借阅历史查看。
注册的读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅情况和图书的信息,而图书管理员可以查看任何读者的信息、借阅情况、任何图书的信息和借阅情况。
(2)书籍管理1)新增书籍。
图书管理员对新增的入库文献资料按规定进行编目、编录、加工、建库。
对每本图书、杂志要登记其基本信息,包括图书名称、图书作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号,馆藏地、入库时间等。
2)书籍信息维护。
图书管理员可以对入库的书籍信息进行修改,或是删除该书籍信息,如采购书籍册数。
3)书籍类别管理。
新增书籍按照中图法分类规则进行分类。
(3)借阅管理1)书籍借阅管理。
图书管理员根据不同类型读者的借阅情况,对书籍进行管理。
(4)查看1)书籍信息查询。
登陆本系统的读者或是图书管理员可以查看现有图书系统中任何书籍的信息。
2)读者信息查询。
一般的读者只能查看自己在该系统上的信息,如借阅的书籍等,而图书管理员可以查看任何读者的信息情况。
3)借阅信息查询。
读者或是图书管理员可以查看每本书籍的在图书馆的状态,是借阅中还是在馆藏地等。
1.3数据需求及业务规则分析(1)图书馆为全校的学生和教职工提供图书借阅服务,学生分为高职生、本科生(含一本、二本、三本)、硕士研究生(含MBA)和博士研究生等多种层次。
图书馆图书管理的数据库系统第一章概述1.1数据库及其应用自20世纪70年代以来,数据库技术得到迅速发展.目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索,档案管理,普查统计等.我国20世纪90年代初在全国范围内装备了12个以数据库为基础的大型计算机系统,这些系统分布在邮电,计委,银行,电力,铁路,气象,民航,情报,公安,军事,航天和财税等行业.现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透.数据库技术与网络通信技术相结合,产生了分布式数据库系统.数据库技术与面象对象技术相结合,产生了面向对象数据库系统等各种数据库系统.在人类迈向21世纪知识经济的时候,信息变为经济发展的战略资源,信息技术已成为社会生产力重要的组成部分.人们充分认识到,数据库是信息化社会中信息资源管理与开发利用的基础.对于一个国家,数据库的建设规模,使用水平已成为衡量该国信息化程度的重要标志.因此,数据库的学习是非常重要的.1.2数据库系统数据库系统本质上是一个用计算机存储记录的系统。
数据库本身可被看作为一种电子文件柜:也就是说,它是收集计算机数据文件的仓库或容器。
系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。
总之,数据库系统是一个计算机存储记录的系统,即,它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。
图1-2是一个数据库系统的简图。
图1-2 数据库系统简图1.3数据库系统简介本人设计的是一个关于图书馆图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询、借阅、归还等功能。
该数据库应用程序按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护.每一部分中包含各自实现的各项功能,对每一项功能的实现,将按照窗体设计以及运行情况的顺序逐一进行设计.本系统采用microsoft access技术建立数据库,使用VB技术建立数据源的链接,并且生成图书管理的数据库应用程序从而实现数据库的管理功能。
第二章数据库系统设计2.1数据库设计概述计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
对于数据库应用开发人员来说,为使现实世界的信息流计算机话,并对计算机话的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。
确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,有能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。
2.2数据库设计周期根据软件工程的思想,数据库设计的周期可以划分为六个阶段:(1)规划阶段确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接等方面的设想。
(2)需求分析阶段认真细致地了解用户对数据的加工要求,确定系统的功能与边界。
本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。
(3)设计阶段把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。
(4)程序编制阶段以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。
程序编制时应遵循结构化程序设计方法。
(5)调试阶段对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。
(6)运行和维护阶段这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。
在运行中,必须保持数据库的完整性,必须有效的处理数据故障和进行数据库恢复。
同时解决开发过程的遗留问题,改正错误进行功能完善。
第三章图书管理系统具体设计3.1图书管理系统总体规划对于数据库系统,规划工作是十分必要的。
规划的好坏将直接影响到整个图书管理系统的成功与否,数据库设计中的规划阶段的主要任务是建立数据库的必要性及可行性分析,确定数据库系统在整个图书管理系统的地位。
根据图书管理数据库对技术人员和管理人员的水平、数据采集和管理活动以及借阅者的计算机素质的要求;数据库技术对计算机系统的软硬件的要求。
决定把数据库管理系统设计成为一个综合的数据库。
此数据库包括所有操作人员的所有活动功能。
因为,此图书管理系统应用界面较简单、功能单一。
所以,用一个综合的数据库就能满足图书管理要求,而且实现容易。
因此,图书管理系统可以按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查阅访问和内部管理人员对图书记录的管理维护。
但是,这两部分都调用的是同一数据库,只不过内部管理人员能实现所有管理功能,而外部学生访问数据库时,一些功能被屏蔽,只能进行查阅。
3.2 需求分析3.2.1需求描述与分析设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和最基本的。
特别是数据应用非常广泛,非常复杂,要是事先没有对信息进行充分和细致的分析,这种设计就很难取得成功。
通过需求分析阶段对图书管理系统的整个应用情况作全面的、详细的调查,确定图书管理的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够接受的文档。
事实上,需求分析是数据库开发中最难的任务之一。
因为,第一,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。
第二,用户很难说清某部分工作的功能处理过程。
所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。
3.2.2需求分析的步骤需求分析大致可分为三步来完成,即需求信息的收集、分析整理和评审通过。
(1)需求信息的收集需求信息的收集又称为系统调查。
为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。
1)调查的目的首先,要了解组织的机构设置,主要管理活动和职能。
其次,要确定组织的目标,大致管理流程和任务范围划分。
因此,图书管理系统主要是通过对现有的图书管理系统进行考察、研究。
并且通过和图书管理人员、学生交流来完善管理功能。
2)调查的内容外部要求:信息的性质,响应的时间、频度和如何发生的规则,以及图书管理的要求,安全性及完整性要求。
管理的现状:即图书管理信息的种类,信息流程,信息的处理方式,各种图书服务工作过程。
组织机构:了解图书管理机构的作用、现状、存在的问题,及是否适应计算机管理。
3)调查方式通过对图书管理人员的访问、交谈可获得图书管理高层的、内部的管理需求,以及图书管理的管理目标、未来图书管理发展变化趋势和长远规划的有关信息。
并且,还可通过具体借阅活动,了解借阅的流程、借阅的控制方式、日常管理信息,对图书管理系统有一个深刻得了解。
(2)需求信息的分析整理要想把收集到的信息(如文件、图表、票据、笔记)转化为下一阶段设计工作可用的形式信息,必须对需求信息做分析整理的工作。
1) 管理流程分析图书管理人员必须完成日常的借书还书工作,还需进行图书馆的维护(图书维护、读者资料维护)和进行图书和读者的查询。
2)注意事项分析管理员在借书时,应根据读者提供的有效资料(借书证)验证读者的身份合法性,确定读者能不能借书,(根据对管理员的调查结果表明当读者不是本校学生、读者借书超期末还、读者借书总数据超过8本未还者不能借书。
)管理员在对系统进行维护时不能对借出的书籍进行修改、删除,不能对借有图书的读者进行修改、删除等。
定期对超期未归还图书的读者公告等。
3.3概念设计按照上述系统设计的构思进行程序设计,根据结构化程序设计的思想,本设计程序的总体结构,依据系统结构模块来划分程序模块。
按系统的要求,本系统包括主要有四个方面:借书、还书、系统查询、系统维护。
故含有借书、还书、系统查询(包含图书档案查询和读者档案查询)、系统维护(包括图书档案维护和读档案维护),退出、帮助等六个模块。
1、总控模块总控程序是整个系统控制的中心,也是系统进入各级模块的入口。
它由主程序和主菜单组成。
2、借书模块本模块实现借书功能,用户输入借书证号和图书编号,系统会根据输入的内容判断能否借书,借书日期由系统给出。
并且借书成功与否系统都会给出提示。
3、还书模块本模块实现还书功能,用户输入借书证号和还书的图书编号,系统会根据输入的内容判断输输入的内容是否正确,并会给出相应的提示。
4、系统查询模块本系统提供了多种的查询模式,包括对图书的查询和对读者的查询。
该模块的功能强大,读者档案查询包括有按借书证号、姓名、班级、专业等四种查询模式;图书档案查询包括有按图书编号、书名、作者、出版社等四种查询模式,另外还可以查询愈期还书读者。
5、系统维护模块本模块由图书档案维护和读者档案维护两个模块组成,主要完成日常的图书档案和读者维护,包括添加修改,删除,读者档案和图书档案等。
6、退出模块本模块是一个过程,实现系统的退出。
7、帮助模块本模块提供了本系统的一些信息。
3.4逻辑设计为了实现系统功能,本系统设立了一个数据库tsgl.dbc共有三个数据库表,它们分别是:图书档案数据库表ts.dbf,读者档案数据库表dj.dbf,借书记录数据库表js.dbf。
1、 ts.dbf(图书档案)数据库表结构如下:字段字段名类型宽度1 图书编号字符型 62 书名字符型 203 作者字符型 104 单价字符型 65 出版社字符型 202、 dj.dbf(读者档案)数据库表结构如下:字段字段名类型宽度1 借书证号字符型82 姓名字符型103 性别字符型 24 专业字符型 105 班级字符型 103、 js.dbf(借书记录)数据库表借物如下:字段字段名类型宽度1 借书证号字符型82 图书编号字符型、 63 借书日期日期型 84 还书日期日期型 8下面将本系统的逻辑模型图列出如下:3.5物理设计以逻辑设计的结果作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。
3.5.1索引的选择本系统针对图书资料和读者资料两个不同的数据库设计两个主索引:图书编号和借书证号。
3.5.2存储结构和存取本系统的数据直接存放在电脑的硬盘上,进行直接存取方法。
第四章数据库实现1、系统主菜单:tsglt.mpr`********************************************************** ** * TSGLXT.MPR** ********************************************************** ** * 菜单定义* ** *********************************************************SET SYSMENU TOSET SYSMENU AUTOMATICDEFINE PAD _0y40w84b0 OF _MSYSMENU PROMPT "借书" COLOR SCHEME 3DEFINE PAD _0y40w84b3 OF _MSYSMENU PROMPT "还书" COLOR SCHEME 3DEFINE PAD _0y40w84b4 OF _MSYSMENU PROMPT "系统查询" COLOR SCHEME 3DEFINE PAD _0y40w84b5 OF _MSYSMENU PROMPT "系统维护" COLOR SCHEME 3DEFINE PAD _0y40w84b6 OF _MSYSMENU PROMPT "退出" COLOR SCHEME 3DEFINE PAD _0y40w84b7 OF _MSYSMENU PROMPT "帮助" COLOR SCHEME 3ON SELECTION PAD _0y40w84b0 OF _MSYSMENU do form jsON SELECTION PAD _0y40w84b3 OF _MSYSMENU do form hsON PAD _0y40w84b4 OF _MSYSMENU ACTIVATE POPUP 新菜单项ON PAD _0y40w84b5 OF _MSYSMENU ACTIVATE POPUP _0xg1eijc4ON SELECTION PAD _0y40w84b6 OF _MSYSMENU quitON SELECTION PAD _0y40w84b7 OF _MSYSMENU do form sxDEFINE POPUP 新菜单项 MARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF 新菜单项 PROMPT "图书查询"DEFINE BAR 2 OF 新菜单项 PROMPT "读者查询"DEFINE BAR 3 OF 新菜单项 PROMPT "查询逾期还书读者"ON BAR 1 OF 新菜单项 ACTIVATE POPUP _0xg1ebks9ON BAR 2 OF 新菜单项 ACTIVATE POPUP _0xg1eevn6ON SELECTION BAR 3 OF 新菜单项 ;DO _0y40w84bg ;IN LOCFILE("\TSGLXT\TSGLXT" ,"MPX;MPR|FXP;PRG" ,"WHERE is TSGLXT?")DEFINE POPUP _0xg1ebks9 MARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF _0xg1ebks9 PROMPT "按编号查询"DEFINE BAR 2 OF _0xg1ebks9 PROMPT "按书名查询"DEFINE BAR 3 OF _0xg1ebks9 PROMPT "按作者查询"DEFINE BAR 4 OF _0xg1ebks9 PROMPT "按出版社查询"ON SELECTION BAR 1 OF _0xg1ebks9 do form cqtsON SELECTION BAR 2 OF _0xg1ebks9 do form asncqtsON SELECTION BAR 3 OF _0xg1ebks9 do form azzcqtsON SELECTION BAR 4 OF _0xg1ebks9 do form acbscqtsDEFINE POPUP _0xg1eevn6 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0xg1eevn6 PROMPT "按借书证号查询"DEFINE BAR 2 OF _0xg1eevn6 PROMPT "按姓名查询"DEFINE BAR 3 OF _0xg1eevn6 PROMPT "按专业查询"DEFINE BAR 4 OF _0xg1eevn6 PROMPT "按班级查询"ON SELECTION BAR 1 OF _0xg1eevn6 do form ajsxhcqdjON SELECTION BAR 2 OF _0xg1eevn6 do form axmcqdjON SELECTION BAR 3 OF _0xg1eevn6 do form ajycqdjON SELECTION BAR 4 OF _0xg1eevn6 do form abjcqdjDEFINE POPUP _0xg1eijc4 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0xg1eijc4 PROMPT "图书档案维护"DEFINE BAR 2 OF _0xg1eijc4 PROMPT "读者档案维护"ON BAR 1 OF _0xg1eijc4 ACTIVATE POPUP _0xg1eivt0ON BAR 2 OF _0xg1eijc4 ACTIVATE POPUP _0xg1elfhvDEFINE POPUP _0xg1eivt0 MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF _0xg1eivt0 PROMPT "添加图书档案"DEFINE BAR 2 OF _0xg1eivt0 PROMPT "修改图书档案"DEFINE BAR 3 OF _0xg1eivt0 PROMPT "删除图书档案"DEFINE BAR 4 OF _0xg1eivt0 PROMPT "清空记录"ON SELECTION BAR 1 OF _0xg1eivt0 do form tjtsON SELECTION BAR 2 OF _0xg1eivt0 do form syxgtshON SELECTION BAR 3 OF _0xg1eivt0 do form sysqtshON SELECTION BAR 4 OF _0xg1eivt0 ;DO _0y40w84br ;IN LOCFILE("\TSGLXT\TSGLXT" ,"MPX;MPR|FXP;PRG" ,"WHERE is TSGLXT?") DEFINE POPUP _0xg1elfhv MARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF _0xg1elfhv PROMPT "添加读者档案"DEFINE BAR 2 OF _0xg1elfhv PROMPT "修改读者档案"DEFINE BAR 3 OF _0xg1elfhv PROMPT "删除读者档案"DEFINE BAR 4 OF _0xg1elfhv PROMPT "清空记录"ON SELECTION BAR 1 OF _0xg1elfhv do form tjdjON SELECTION BAR 2 OF _0xg1elfhv do form syxgdjhON SELECTION BAR 3 OF _0xg1elfhv do form sysqdjhON SELECTION BAR 4 OF _0xg1elfhv ;DO _0y40w84bv ;IN LOCFILE("\TSGLXT\TSGLXT" ,"MPX;MPR|FXP;PRG" ,"WHERE is TSGLXT?")* ********************************************************** ** * _0Y40W84BG ON SELECTION BAR 3 OF POPUP 新菜单项* ** * ProcedureOrigin:* ** * From Menu: TSGLXT.MPR, Record: 19 * * Called By: ON SELECTION BAR 3 OF POPUP 新菜单项* * Prompt: 查询逾期还书读者* *Snippet: 1* ** **********************************************************PROCEDURE _0y40w84bgSELECT Dj.*, Js.借书日期, Ts.图书编号, Ts.书名, Ts.单价;FROM tsgl!dj INNER JOIN tsgl!js;INNER JOIN tsgl!ts ;ON Js.图书编号 = Ts.图书编号 ;ON Dj.借书证号 = Js.借书证号;WHERE Js.借书日期 > Js.还书日期;AND Js.借书日期 < date( )-90* ********************************************************** ** * _0Y40W84BR ON SELECTION BAR 4 OF POPUP _0xg1eivt0* ** * ProcedureOrigin:* ** * From Menu: TSGLXT.MPR, Record: 27 * * Called By: ON SELECTION BAR 4 OF POPUP _0xg1eivt0* * Prompt: 清空记录* *Snippet: 2* ** **********************************************************PROCEDURE _0y40w84bruse tszap* ********************************************************** ** * _0Y40W84BV ON SELECTION BAR 4 OF POPUP _0xg1elfhv* ** * ProcedureOrigin:* ** * From Menu: TSGLXT.MPR, Record: 33 * * Called By: ON SELECTION BAR 4 OF POPUP _0xg1elfhv* * Prompt: 清空记录* *Snippet: 3* ** **********************************************************PROCEDURE _0y40w84bvuse djzap2、借书表单(JS.scx):程序:Form1.Init:thisform.text3.value=date()Command1(确定). Clickselect djlocate for dj.借书证号=thisform.text1.valueif found()=.f.messagebox("没有这个借书证号,请查证后重新输入",0+64) thisform.text1.value=""elseselect tslocate for ts.图书编号=thisform.text2.valueif found()=.f.messagebox("没有这本书,请查证后重新输入",0+64) thisform.text2.value=""elseselect jsset delete onlocate for js.图书编号=thisform.text2.valueif found( ) and js.借书日期 > js.还书日期messagebox("这本书借出未还!",0+48)thisform.text2.value=" "ELSElocate for 借书证号=thisform.text1.valueif found() and date()-js.借书日期 >30messagebox("此人有书超期未还,不能借书!!",0+64)elsego bottomappend blankreplace js.借书证号 with thisform.text1.value,js.图书编号 with thisform.text2.value; js.借书日期 with thisform.text3.valuemessagebox("借书成功",0+64)thisform.text1.value=""thisform.text2.value=""endifendifENDIFendifthisform.refreshCommnand2(取消).Clickthisform.RELEASE3、还书表单(hs.scx)程序:Form1.Initthisform.text3.value=date()Command1(确定).Clickselect djlocate for 借书证号=thisform.text1.valueif found()=.f.messagebox("没有这个读者记录,请查证后重新输入!",0+64)thisform.text1.value=""thisform.text1.setfocusELSEselect tsset delete onlocate for 图书编号=thisform.text2.valueif found()=.f.messagebox("没有这本书或这本书已归还了,请重新输入!",0+64)thisform.text2.value=""thisform.text2.setfocusELSESELECT jslocate for 借书证号=thisform.text1.value and 图书编号 = thisform.text2.value if found()=.f.messagebox("此输入有误,请重新输入!",0+16)thisform.text1.value=" "thisform.text2.value=" "elsereplace 还书日期 with thisform.text3.value deletemessagebox("还书成功",0+64)thisform.text1.value=""thisform.text2.value=""ENDIFENDIFENDIFthisform.refreshCommand2(返回).Clickthisform.release4、系统查询模块:1)、按编号查询图书(cqts.scx)程序:Command1(确定).Clickuse tslocate for 图书编号=thisform.text1.valueif found()=.t.thisform.text2.value=ts.图书编号thisform.text3.value=ts.书名thisform.text4.value=ts.作者thisform.text5.value=ts.出版社thisform.text6.value=ts.单价elsemessagebox("没有这个书名,请重新输入",0+64)thisform.text1.value=""endifthisform.refreshCommand2(取消).Clickthisform.release2)、按书名查询图书(asncqts.scx)Command1(确定).Clickclose alluse tslocate for 书名=trim(sm)if not found()messagebox("经查询没有这个书名,请查证后再输入",0+32)elseuse tssele all 图书编号, 书名, 作者, 出版社, 单价 from ts where 书名=trim(sm) endifthisform.releaseCommand2(返回).Clickthisform.release3)、按作者查询图书表单(azzcqts.scx)程序:Command1(确定).Clickclose alluse tslocate for 作者=trim(au)if not found()messagebox("经查询没有这个作者的书,请查证后再输入",0+32)elseuse tssele all 图书编号, 书名, 作者, 出版社, 单价 from ts where 作者=trim(au) endifthisform.releaseCommand2.(返回).Clickthisform.release4)、按出版社查询(acbscqts.scx)程序:Command1(确定).Clickclose alluse tslocate for 出版社=trim(pu)if not found()messagebox("经查询没有这个出版社的书,请查证后再输入",0+32)elseuse tssele all 图书编号, 书名, 作者, 出版社, 单价 from ts where 出版社=trim(pu) endifthisform.releaseCommand2(返回).Clickthisform.release5)、按借书证号查询读者(ajsxhcqdj.scx)程序:Command1(确定).Clickuse djlocate for 借书证号=thisform.text1.valueif found()=.f.messagebox("没有这个记录,请查证后重新输入",0+64)thisform.text1.value=""thisform.text1.setfocuselsethisform.text2.value=借书证号thisform.text3.value=姓名thisform.text4.value=性别thisform.text5.value=专业thisform.text6.value=班级thisform.refreshendifCommand2(取消).Clickthisform.release6)、按姓名查询读者(axmcqdj.scx)程序:Command1(确定).Clickclose alluse djlocate for 姓名=trim(xm)if not found()messagebox("经查询没有这个姓名,请查证后再输入",0+32) elseuse djsele all 借书证号, 姓名, 性别, 专业, 班级 from dj where 姓名=trim(xm) endifthisform.releaseCommand2(取消).Clickthisform.release7)、按专业查询读者(azycqdj.scx)表单程序:Command1(确定).Clickclose alluse djlocate for 专业=trim(jy)if not found()messagebox("经查询没有这个专业的学生,请查证后再输入",0+32)thisform.text1.value=" "thisform.text1.gotfocuselseuse djsele all 借书证号, 姓名, 性别, 专业, 班级 from dj where 专业=trim(jy) thisform.releaseendifCommand2(返回).Clickthisform.release8)、按班级查询读者表单(abjcqdj.scx)程序:Command1(确定).Clickclose alluse djlocate for 班级=trim(bj)if not found()messagebox("经查询没有这个班级的学生,请查证后再输入",0+32)thisform.text1.value=" "thisform.text1.gotfocuselseuse djsele all 借书证号, 姓名, 性别, 专业, 班级 from dj where 班级=trim(bj) thisform.releaseendifCommand2(返回).Clickthisform.release5、系统维护模块1)、添加图书档案表单(tjts.scx)程序:Command1(添加).Clickclose alluse tsif mand1.caption="添加"go bottomappend blankmand1.caption="保存"mand2.caption="放弃"elselocate for 图书编号=thisform.text1.valueif found()=.t.messagebox("书号已存在,请重新输入!",0+64,"信息")thisform.text1.value=" "elsego bottomreplace 图书编号 with thisform.text1.value, 书名 with thisform.text2.value;作者 with thisform.text3.value,出版社 with thisform.text4.value;单价 with thisform.text5.valuethisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=""mand1.caption="添加"mand2.caption="关闭"thisform.text1.setfocusendifendifthisform.refreshCommand2(关闭).Clickif mand2.caption="关闭"thisform.releaseelseif mand1.caption="保存"deletepackthisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=""mand1.caption="添加"mand2.caption="关闭"thisform.text1.setfocusendifthisform.refreshendif2)、修改图书模块(1)、输入修改图书号表单(syxgtsh.scx)程序:Text1.lostfocuspublic jszhjszh=thisform.text1.valueCommand1(确定).Clickclose alluse tslocate for 图书编号=trim(tsbh)if not found()messagebox("经查询没有这个记录,请查证后再输入",0+32) thisform.text1.value=" "thisform.text1.gotfocuselsedo form xgtsdathisform.releaseendifCommand2(取消).Clickthisform.release(2)修改图书档案表单(xgtsda.scx)程序:Form1.Initclose alluse tslocate for 图书编号=trim(tsbh)thisform.text1.value=图书编号thisform.text2.value=书名thisform.text3.value=作者thisform.text4.value=出版社thisform.text5.value=单价thisform.refreshCommand1(修改).Clickclose alluse jslocate for 图书编号=trim(tsbh)if found() and js.借书日期 > js.还书日期messagebox("这本书借出未还,不能修改!",0+16,"警告") elseclose alluse tslocate for 图书编号=trim(tsbh)private ii=messagebox("真的要修改这名读者吗?",4+32,"警告")if i=6replace 图书编号 with thisform.text1.value, 书名 with thisform.text2.value;作者 with thisform.text3.value,出版社 with thisform.text4.value;单价 with thisform.text5.valuemessagebox("成功修改该记录!",0+64,"信息")endifthisform.releaseendifCommand2(关闭).Clickthisform.release3)、删除图书档案(1)、输入删除图书号表单(syxqtsh.scx)程序:Text1.lostfocuspublic tshtsh=thisform.text1.valueCommand1(确定).Clickclose alluse tslocate for 图书编号=trim(tsh)if not found()messagebox("经查询没有这个学生,请查证后再输入",0+32) thisform.text1.value=" "thisform.text1.gotfocuselsedo form sqtsdathisform.releaseendifCommand2(返回).Clickthisform.release(2)、删除图书档案表单(sytsda.scx)程序:Form1.Initclose alluse tslocate for 图书编号=trim(tsh)thisform.text1.value=图书编号thisform.text2.value=书名thisform.text3.value=作者thisform.text4.value=出版社thisform.text5.value=单价thisform.refreshCommand1(删除).Clickclose alluse jslocate for 图书编号=trim(tsh)if found() and js.借书日期 > js.还书日期messagebox("这本书借出未还,不能删除!",0+16,"警告") elseclose alluse tslocate for 图书编号=trim(tsh)private ii=messagebox("真的要删除这个记录吗?",4+32,"警告") if i=6deletepackmessagebox("成功删除了该记录!",0+64,"信息") thisform.releaseendifendifCommand2(关闭).Clickthisform.release4)、清空图书档案程use tszap5)、添加读者档案表单(tjdj.scx)程序:Command1(添加).Clickclose alluse djif mand1.caption="添加"go bottomappend blankmand1.caption="保存" mand2.caption="放弃"elselocate for 借书证号=thisform.text1.value if found()=.t.messagebox("借书证号已存在,请重新输入!",0+64,"信息")thisform.text1.value=" "elsego bottomreplace 借书证号 with thisform.text1.value, 姓名 with thisform.text2.value;性别 with thisform.text3.value,专业 with thisform.text4.value;班级 with thisform.text5.valuethisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=""mand1.caption="添加"mand2.caption="关闭"thisform.text1.setfocusendifendifthisform.refreshCommand2(关闭).Clickclose alluse djif mand1.caption="添加"go bottomappend blankmand1.caption="保存"mand2.caption="放弃"elselocate for 借书证号=thisform.text1.valueif found()=.t.messagebox("借书证号已存在,请重新输入!",0+64,"信息")thisform.text1.value=" "elsego bottomreplace 借书证号 with thisform.text1.value, 姓名 with thisform.text2.value;性别 with thisform.text3.value,专业 with thisform.text4.value;班级 with thisform.text5.valuethisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=""mand1.caption="添加"mand2.caption="关闭"thisform.text1.setfocusendifendifthisform.refresh6)、修改读者档案模块(1)输入修改读者借书号(sysgdjh.scx)程序:Text1.Lostfocuspublic jszhjszh=thisform.text1.valueCommand1(确定).Clickclose alluse djlocate for 借书证号=trim(jszh)if not found()messagebox("经查询没有这个学生,请查证后再输入",0+32) thisform.text1.value=" "thisform.text1.gotfocuselsedo form xgdjdathisform.releaseendifCommand2(返回).Clickthisform.release2)修改读者档案(xgdjda.scx)程序:Form1.Initsele djlocate for dj.借书证号=trim(jszh) thisform.text1.value=dj.借书证号thisform.text2.value=姓名thisform.text3.value=性别thisform.text4.value=专业thisform.text5.value=班级thisform.refreshCommand1(修改).Clickclose alluse jslocate for 借书证号=trim(jszh)if found() and js.借书日期 > js.还书日期messagebox("这名读者有书未还,不能修改!",0+16,"警告")elseclose alluse djlocate for dj.借书证号=trim(jszh)private ii=messagebox("真的要修改这名读者吗?",4+32,"警告")if i=6replace 借书证号 with thisform.text1.value, 姓名 with thisform.text2.value;性别 with thisform.text3.value,专业 with thisform.text4.value;班级 with thisform.text5.valuemessagebox("成功修改该记录!",0+64,"信息")endifthisform.releaseendifCommand2(关闭).Clickthisform.release7)删除读者档案(1)、输入删除读者号(sysqdjh.scx)程序:Text1.Lostfocuspublic jshjsh=thisform.text1.valueCommand1(确定).Clickclose alluse djlocate for 借书证号=trim(jsh)if not found()messagebox("经查询没有这个学生,请查证后再输入",0+32) thisform.text1.value=" "thisform.text1.gotfocuselsedo form sqdjdathisform.releaseendifCommand2(返回).Clickthisform.release(2)删除读者档案(sqdjda.scx)程序:Form1.Initsele djlocate for dj.借书证号=trim(jsh) thisform.text1.value=dj.借书证号thisform.text2.value=姓名thisform.text3.value=性别thisform.text4.value=专业thisform.text5.value=班级thisform.refreshCommand1(删除).Clickclose alluse jslocate for 借书证号=trim(jsh)if found() and js.借书日期 > js.还书日期messagebox("这名读者有书未还,不能删除!",0+16,"警告") elseclose alluse djlocate for dj.借书证号=trim(jsh)private ii=messagebox("真的要删除这名读者吗?",4+32,"警告")if i=6deletepackmessagebox("成功删除了该记录!",0+64,"信息") thisform.releaseendifendifCommand2(关闭).Clickthisform.release8)清空读者档案过程use djzap6、退出模块使用命令,退出本系统。