图书馆借阅系统数据库设计

合集下载

《数据库》课程设计报告--图书借阅管理系统的设计与实现

《数据库》课程设计报告--图书借阅管理系统的设计与实现

《SQL Server数据库课程设计》题目:图书借阅管理系统的设计与实现院、系:计算机信息与技术系学科专业:软件工程学号: B10060XXX ___学生姓名: XXXX指导教师:XX2012年06月目录引言1第一章需求分析1一、功能需求1二、数据需求2第二章概要设计2一、系统设计目标2二、系统功能设计2三、开发工具的选择3第三章详细设计5一。

实体E—R图5二. 表的设计6三.界面设计7第四章软件实现21一、登录实现21二、图书管理21三、图书借阅21四、图书查询21五、图书增加21第五章软件测试21一、测试方案21二、测试项目21三、测试项目及测试内容21四、测试用例21五、评价22第六章课程设计总结24参考文献25引言随着社会的发展,人们对知识的需求也不断地增长。

在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就势在必行.图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。

本软件针对图书馆的业务范围及工作特点,设计了图书查询、新增图书、图书借阅书以及图书归还等5个子系统,这5个子系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。

应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。

本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括画面设计、数据输入、查询、新增、删除等设计。

从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。

本系统的实现的主要功能有:图书馆图书的查询、新书的入库、图书的借阅和归还等等功能,是一个基本可以满足借阅者和图书馆管理人员的需要的数据库。

图书馆管理信息系统的数据库设计

图书馆管理信息系统的数据库设计

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)图书信息的录入:要求能够将图书信息录入到数据库中。

(2)图书信息的修改:根据需要,修改、删除图书信息。

(3)用户登陆:根据用户权限登陆此系统。

(4)系统用户管理:要求可以管理系统的用户,包括添加、修改和删除用户。

(5)借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证件信息。

(6)借阅证管理:包括借阅证丢失、过期等管理。

(7)借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理。

2.数据库设计数据库设计主要在SQL Server服务器端建立数据库和数据表,并实现数据处理功能。

本文所设计的数据库中要记录读者的借书情况、图书被借阅的情况以及读者、图书的基本情况。

下面对图书借阅管理系统所需的数据结构进行分析并创建数据库。

2.1 概念结构设计现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。

由于这个系统并不复杂,因此可采用自顶向下的设计方法。

自顶向下设计的关键是确定系统的核心活动。

所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。

确定了核心活动之后,系统就有了可扩展的余地。

对于这个图书借阅管理系统,其核心活动是借阅,读者与图书之间是通过借阅发生联系的。

因此,此系统包含的实体有:(1) 读者:用于描述一名读者的基本信息,用借书卡编号来标识。

(2) 图书:用于描述一本图书的基本信息,用图书编号来标识。

经过初步分析,可以得到此系统中各实体所包含的基本属性如下:读者:借阅证编号、读者姓名、工作单位、身份证号、借阅证类型、办证日期、证件状态。

图书:图书编号、图书名称、图书分类、作者、出版社、图书价格、图书封面由于一名读者可以同时借阅多本图书,而一本图书一次只能借给一名读者,因此读者和图书之间是一对多的联系。

管理信息系统课程设计--图书馆借阅系统

管理信息系统课程设计--图书馆借阅系统

辽宁工业大学管理信息系统设计课程设计报告(论文) 题目:图书馆借阅管理系统院(系):软件学院专业班级: 软件学院112班学号: 111301054学生姓名:安凯辰指导教师: 翟宝峰教师职称:副教授起止时间: 2012.5。

28—2012.6.8课程设计(论文)任务及评语目录第一章系统分析........................................... 错误!未定义书签。

1.1用户需求分析ﻩ错误!未定义书签。

1。

2功能分析.......................................... 错误!未定义书签。

1.3数据流程分析...................................... 错误!未定义书签。

1。

4业务流程图........................................ 错误!未定义书签。

1.5数据字典 (3)第二章系统设计ﻩ错误!未定义书签。

2。

1总体设计ﻩ错误!未定义书签。

2.2详细设计ﻩ错误!未定义书签。

2.3数据库设计ﻩ错误!未定义书签。

第三章系统实施ﻩ错误!未定义书签。

第四章设计总结ﻩ错误!未定义书签。

参考文献.................................................. 错误!未定义书签。

第一章系统分析1.1用户需求分析用户的需求可分为以下3方面:(1)图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应读者的需求;(2)图书馆工作人员对读者的借书情况作好全面的掌握,及时得到每个读者的当前借阅状态和历史借阅记录;(3)读者能通过计算机查询浏览图书馆中的图书,确定自己需要的书籍,实施借阅. 1。

2功能分析本系统主要用图书馆借阅管理系统管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,其系统功能分析是在系统开发的总体任务的基础上完成的.为了提高大家的时间和工作效率,节约运行费用而设计的。

图书管理系统数据库设计

图书管理系统数据库设计

图书管理系统数据库设计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)在借阅记录表中是唯一的,不能重复。

图书馆图书借阅管理系统的设计与实现 的论文

图书馆图书借阅管理系统的设计与实现  的论文
系 别:计算机与信息科学系
专 业:信息管理与信息系统
班 级:信管0501班
学 号:**********
2009年6月
福建工程学院本科毕业设计(论文)作者承诺保证书
本人郑重承诺: 本篇毕业设计(论文)的内容真实、可靠。如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。
学生签名:
年月日
福建工程学院本科毕业设计(论文)指导教师承诺保证书
支撑软件是协助人们开发和维护软件的工具和环境软件,包括编辑程序,数据库系统,集成开发环境等,本系统的支撑软件如下:
1、数据库管理系统(DBMS):为了对数据库实施集中管理,同时并发的处理多个客户机发来的数据处理要求,我们选用SQL Server 2000数据库管理系统。
2、动态网页技术:在这里我们使用Flex以及JSP(Java Server Pages)来建立系统。
Key words:Librarymanagement;JSP;SQLServer2000;Flex;XML
1
1.1
随着信息技术的迅猛发展,信息化已经渗透到社会生活的各个领域和各个层面,并日益成为提高效率,消除差错,节约成本的有效途径。20世纪60年代以来,在微电子技术和通信技术迅速发展的推动下,图书馆图书借阅管理也充分利用软件来进行管理,其目标是借助先进的信息处理技术和计算机网络技术来提高图书管理的效率和质量,将管理与办公活动纳入到自动化/现代化的轨道中。
.。。。。。。。。。省略
DFD顶层图:
图4-2是顶层DFD,它表现出了我们要开发的系统所需要的外部的参与人员和流入流出的数据流的种类。从上图可以看出,我们这个系统主要接收的数据可有办证管理员的账号、密码以及读者信息;借阅管理员的账号、密码、读者信息以及图书信息以及系统管理员的账号、密码以及用户信息等等。。。。省略

图书馆借阅管理系统及业务管理知识设计

图书馆借阅管理系统及业务管理知识设计

图书馆借阅管理系统及业务管理知识设计一、借阅管理模块借阅管理模块是图书馆借阅业务的核心模块,主要包括借书、还书、图书续借、预约图书等功能。

读者在借阅时需要通过系统登录,并选择所要借阅的图书,系统会自动检查读者的借阅资格和图书的可借阅状态,如果满足借阅条件,则会自动生成借阅记录,并将相应的借阅信息更新到系统数据库。

读者在还书时需要将图书归还到指定的还书点,并通过系统进行归还操作,系统会自动更新借阅记录、图书状态和读者的借阅统计信息。

当读者需要续借图书时,只需登录系统并选择所要续借的图书,系统会自动检查图书的续借次数和续借期限,并生成相应的续借记录和新的借阅期限。

当某本图书被借出后,其他读者可以通过预约图书功能进行预约,系统将根据预约的先后顺序为读者保留图书,并通知读者借阅。

二、图书管理模块图书管理模块是图书馆借阅管理系统的重要模块,主要包括图书入库、图书维护、图书查询等功能。

在图书入库时,图书管理员需要录入图书的相关信息,如书名、作者、出版社、ISBN号等,并生成图书编号。

系统会自动将图书信息保存到数据库,并更新图书的库存数量。

对于现有的图书,图书管理员可以通过系统进行图书信息的维护,如修改图书信息、删除图书、查询图书当前的库存数量等。

读者可以通过系统查询图书的信息,如图书的位置、可借阅状态、馆藏数量等。

三、读者管理模块读者管理模块主要负责读者信息的管理,包括读者的注册、登录、密码找回、信息修改等功能。

读者在注册时需要填写个人基本信息,并选择登录账号和密码,系统会对读者的注册信息做校验和合法性验证,并将读者信息保存到数据库。

读者在登录系统后可以修改个人信息、查询借阅历史、查询预约记录等。

四、流通管理模块流通管理模块主要负责对图书馆的借还流程进行管理,包括借还书流程的自动化、借还书记录的统计和分析等功能。

系统可以自动记录读者的借阅和还书操作,并生成相应的借阅和还书记录,同时系统还能根据借阅记录进行统计和分析,提供借阅热门图书、借阅热门时间段等统计数据,以便图书馆进行决策和优化借阅服务。

读者借阅系统查询设计

读者借阅系统查询设计

读者借阅系统查询设计为了方便读者快速了解自己需要的图书是否在图书馆的馆藏之中,并且能够及时借阅到所需要的图书,图书馆需要在系统上建立一个查询系统。

下面,本文将介绍一个适合中小型图书馆的读者借阅系统查询设计。

一、系统的功能概述首先,系统需要能够查询所有书籍的信息和当前的借阅状态。

其次,还需要能够让读者查询自己的借阅情况,查看自己借阅的书籍信息、借阅时间、归还时间等具体信息。

此外,系统还应该提供预借和续借的功能,以便读者方便地操作。

二、系统的设计流程1. 设计数据库表格系统的设计首先需要建立数据库,建立有关书籍和读者的表格。

建议建立以下表格:(1)图书信息表:包括每本书的编号、书名、作者、出版社、出版时间、ISBN号、分类号、定价等信息。

(2)借阅记录表:包括每个读者所借书籍的编号、借阅时间、还书时间、剩余借阅次数等信息。

(3)读者信息表:包括每个读者的借书卡号、姓名、性别、专业、借阅权限等信息。

2. 实现系统的查询功能(1)所有书籍查询通过输入书名或者作者、出版社等关键词,系统能够自动匹配到对应的书籍列表,并显示每本书的具体信息,如题名、作者、出版社、分类号、在馆状态、可借阅天数等。

读者可以根据自己的需求,定位到自己需要的书籍。

读者登录系统后,能够查询自己借阅的所有书籍,包括书名、作者、借阅时间、应还时间、实际还书时间等信息。

此外,还需要显示剩余借阅次数。

(3)预借和续借系统提供预借和续借功能,读者可以在在线上完成此类操作。

预借功能能够让读者得到可以借阅但是当前被其他人借走的书籍的预定权力。

续借功能允许读者在借阅到期前,通过系统自动续借一定时间。

三、系统的技术实现1. 采用Web技术,实现系统的客户端/服务器体系结构,读者端访问系统的客户端,服务器端承担查询请求和存储查询结果。

2. 借用开源的数据库管理系统,并使用SQL语言实现数据查询操作。

借用流行的MVC 框架简化实现过程。

3. 实现系统的用户交互设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

航空大学实验报告二016 年3 月28 日课程名称:数据库原理实验名称:图书馆借阅系统班级:14207218 :胡合达同组人:指导教师评定:签名:一、实验环境1.Windows2000或以上版本;2.SQLServer 2005。

二、实验目的了解并掌握数据库设计基本方法三.系统需求分析1.设计本系统模拟学生在图书馆借阅图书的容,能够实现以下功能:借阅信息的查询功能;图书信息的多关键字检索查询;图书的出借、返还及超期罚款;2.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。

3.对查询、统计的结果能够列表显示。

4.处理对象:学生,馆藏图书信息,借阅信息,罚款信息,借阅历史5.安全性要求系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

6.完整性要求系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。

四.概念结构设计系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。

图书借阅系统的E-R图E-R图各实体的属性如下所示:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish,, BookDate,BookClass,BookState,BookRNo)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID, ReaDep, ReaGrade, ReaPref, ReaDate,Reasx)管理员:Maneger (MID,MName,MSex)馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借阅历史:History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate)罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID)五.逻辑结构设计以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。

将图书借阅E-R图转换为关系模型图书列名数据类型可否为空说明BookID Char not null 图书编号BookNo Char not null 图书的索书号BookName Char not null 图书的书名BookWriter Char not null 图书作者BookPulish Char not null 图书Booknum Smallint Not null 图书数量BookDate Date 出版日期BookClass Char 图书的分类Booknums smallint Not null 图书可借数量BookState Char not null 图书是否可借BookRNo Char not null 图书所在馆室号读者列名数据类型可否为空说明ReaID Char not null 读者编号ReaName Char not null 读者ReaSex Char not null 读者性别ReaNo Char not null 读者学号ReaDep Char 读者所在学院ReaPref Char 读者所属专业ReaGrade Char 读者的年级ReaDate Date not null 办证日期ReaBs Smallint Not null 已借本数Reastate Char Not nnll 借书状态Reasx Smallint Not null 借书上限管理员列名数据类型可否为空说明MID主键Char not null 管理员编号MName Char not null 管理员MSex Char 管理员性别馆室列名数据类型可否为空说明RoomNo Char not null 馆室号RoomMID Char not null 馆室管理员编号Roomnum Char not null 馆室拥有图书数目RoomAddre Char 馆室地址RoomType,Char 馆室类型借阅信息列名数据类型可否为空说明ReaID Char not null 读者编号BookID Char not null 图书编号BookName Char not null 图书名BookWriter Char 作者Outdate Date not null 借阅时间Indate Date 归还时间YHdate Date not null 应还时间Fine Char Not null 罚款金额CLState Char 处理状态MID Char not null 管理员编号六.数据库的实施创建数据库及表格管理员基本信息表的建立:create table Maneger(MID char(10) primary key,MName char(10) not null,MSex char(2),check(MSex ='男' or MSex ='女'))图书馆室基本信息表的建立:create table Room(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5) not null ,RoomAddre char(20),RoomType char (10),foreign key(RoomMID) references Maneger(MID)on delete cascade on update cascade , )馆藏图书基本信息表的建立:create table Book(BookID char(9) primary key,BookNo char(20) not null,BookName char(50) not null,BookWriter char(30) not null,BookPublish char(20) not null,Booknum smallint check (Booknum>=0),BookDate datetime,BookClass char(20),Booknums smallint check (Booknum>=0),BookState char(10) default ‘可借’not null,BookRNo char(5) not null,check (Booknum>Booknums ),foreign key(BookRNo) references Room(RoomNo)on delete cascade on update cascade , )读者基本信息表的建立:create table Reader(ReaID char(9) primary key,ReaName char(10) not null,ReaSex char(2) not null,ReaNo char(9) not null,Reasx smallint not null,ReaBs smallint not null,ReaDep char(20),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,Reastate char (5) not null default ‘可借’ ,foreign key(ReaLBID) references ReaderType(LBID)on delete cascade on update cascade , check(ReaSex ='男' or ReaSex ='女'))(6)借阅基本信息表的建立:create table Borrow(BookID char(9),ReaID char(9),Outdate Datetime not null,YHdate Datetime not null,Indate Datetime,Fine char(5) not null default ‘0’,CLState char(8),MID char(10) not null,primary key(BookID,ReaID),foreign key(MID) references Maneger(MID)on delete cascade on update cascade)建立视图(1)用于查询图书基本信息的视图定义如下:create view Bookview (索书号, 书名, 作者, , 图书状态)asselect BookNo,BookName,BookWriter,BookPublish,BookStatefrom Book(2)用于读者基本信息查询的视图定义如下:create view Readerview (读者,类型,学院,专业,办证日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Reader(3)用于显示当前借阅基本信息的视图定义如下:create view Borrowview (读者编号,书名,作者,借阅日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null (4)用于借阅历史信息查询的视图定义如下:create view Historyview (读者编号,书名,借阅日期,归还日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is not null (5)用于查询罚款信息的视图定义如下:create view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态)asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not null建立索引create clustered index BookPublish on Book(BookPublish);create clustered index ReaDep on Reader(ReaDep);建立触发器当在中增加一条借阅记录时,书的可借数量减少一本,修改读者,并检查读者状态create trigger Borrow_insert1on Borrowfor insertasdeclare BookID char(9)declare ReaID char(9)select ReaID=ReaIDfrom insertedselect BookID=BookIDfrom insertedSelect Reastate =ReastateFrom ReaderWhere ReaID =ReaIdIf(Reastate =’不可借’)BeginRaiserror (‘该学生状态不可借书’,16,1)Rollback transactionEndupdate Bookset Booknums=Booknums-1where BookID=BookIDupdate Readerset ReaBs=ReaBs+1where ReaID =ReaID当读者达到借书上限,设置借书状态为‘不可借’create trigger Reader _updateon Readerfor updateasdeclare ReaBs smallintselect ReaBs =ReaBsfrom inserteddeclare ReaID char(9)select ReaID=ReaIDfrom insertedSelect Reasx =ReasxFrom Readerwhere BookID=BookIDIf(Reasx =ReaBs )Beginupdate Readerset Reastate =’不可借’where ReaID =ReaIDEnd还书的时候,书的可借数量增加一本,修改读者状态create trigger Borrow_inserton Borrowfor insertasdeclare BookID char(9)declare ReaID char(9)select ReaID=ReaIDfrom insertedselect BookID=BookIDfrom insertedSelect Reastate =ReastateFrom ReaderWhere ReaID =ReaIdIf(Reastate =’超期’)BeginRaiserror (‘该学生状态借书超期’,16,1)Rollback transactionEndupdate Bookset Booknums=Booknums+1where BookID=BookIDupdate Readerset ReaBs=ReaBs-1where ReaID =ReaID存储过程1.Book_Insert的定义:CREATE PROCEDURE Book_InsertBookID char(9) ,BookNo char(20),BookName char(50),BookWriter char(30),BookPublish char(20),BookDate datetime,BookClass char(20),Booknums smallint,Booknum smallint,BookState char(10),BookRNo char(5)asinsert into Bookvalues(BookID ,BookNo,BookName,BookWriter ,BookPublish ,BookDate,Bo okClass ,BookState ,BookRNo,Booknums,Booknum);2.Reader_Insert的定义:CREATE PROCEDURE Reader_InsertReaID char(9),ReaName char(10),ReaSex char(2),ReaNo char(9),ReaDep char(20),ReaGrade char(5),ReaPref char(20),ReaDate DatetimeReaBs smallint,Reastate char(5),Reasx smallint,asinsert into Readervalues( ReaID , ReaName, ReaSex,ReaNo ,ReaDep ,ReaGrade ,ReaPref ,ReaDate,ReaBs,Reastate,Reasx ;3.Maneger_Insert的定义:CREATE PROCEDURE Maneger_InsertMID char(10) ,MName char(10),MSex char(2),asinsert into Manegeralues(MID , MName ,MSex );4.Borrow_Insert的定义:CREATE PROCEDURE Borrow_InsertBookID char(9),ReaID char(9),Outdate Datetime ,YHdate Datetime ,Indate Datetime,Fine char(5),CLState char(8),MID char(10)asinsert into Borrowvalues(BookID ,ReaID ,Outdate ,YHdate ,Indate ,Fine ,CLState ,MID );5.Query_Reader_R的定义:create procedure Query_Reader_RReaID char(9)asselect *from Readerviewwhere 编号= ltrim(ReaID);6. Query_Reader_M的定义:create procedure Query_Reader_Masselect *from Readerview7. Query_Book_Writer的定义:`create procedure Query_Book_WriterBookWriter char(50)asselect *from Bookviewwhere 作者like '%'+ltrim(BookWriter)+'%';8. Query_Book_Name_Publish的定义:create procedure Query_Book_Name_PublishBookName char(50),BookPublish char(20)asselect *from Bookviewwhere 书名=ltrim(BookName) and =ltrim(BookPublish);9. Delete_Reader的定义:create procedure Delete_ReaderReaNo char(9)asdeletefrom Readerwhere ReaNo = ltrim(ReaNo);10. Delete_Book的定义:create procedure Delete_BookBookID char(9)asdeletefrom Bookwhere BookID= ltrim(BookID);七.实验小结这次实验使我熟悉了如何独立的建立一个系统,通过自己所学的知识,综合运用,并了解自己的不足之处。

相关文档
最新文档