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

合集下载

数据库课程设计——图书管理系统

数据库课程设计——图书管理系统

借阅管理模块
实现图书的借阅、归还和 续借功能,记录借阅历史 和当前借阅状态。
系统管理模块
实现用户管理、权限管理 、日志管理等功能,保障 系统的安全性和稳定性。
04
系统实现
开发环境搭建
开发工具
Visual Studio Code、MySQL Workbench
运行环境
Windows 10、MySQL 5.7
息。
借阅数据
包括借阅编号、读者 编号、图书编号、借 阅日期、归还日期等
信息。
系统用户数据
包括用户编号、用户 名、密码、角色和权
限等信息。
性能需求
响应时间
01
系统响应时间应小于2秒。
并发用户数
02
系统应支持至少100个并发用户。
数据备份与恢复
03
系统应具备定期自动备份和手动备份功能,同时能够在需要时
数据库课程设计— —图书管理系统
2024-01-09
目录
• 引言 • 系统需求分析 • 系统设计 • 系统实现 • 系统测试与优化 • 课程设计总结与展望
01
引言
课程设计目的
01 掌握数据库设计的基本步骤和方法
通过课程设计,使学生熟悉数据库设计的流程, 包括需求分析、概念设计、逻辑设计、物理设计 等阶段,并掌握各个阶段的主要任务和方法。
模块实现
图书管理模块
实现图书的录入、修改、删除等功能 ,提供对图书信息的全面管理。
借阅管理模块
实现图书的借阅、归还等功能,记录 借阅历史,方便管理员和读者查看。
读者管理模块
实现读者的注册、登录、个人信息管 理等功能,提供对读者信息的全面管 理。
系统管理模块
实现用户权限管理、系统日志查看等 功能,保障系统的安全性和稳定性。

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

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

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) 图书:用于描述一本图书的基本信息,用图书编号来标识。

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

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

图书管理系统数据库

图书管理系统数据库

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

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

图书馆图书借阅管理系统的设计与实现  的论文
系 别:计算机与信息科学系
专 业:信息管理与信息系统
班 级:信管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、借书流程图2、还书流程图根据数据流图,设计如下数据项和数据结构:1、图书信息,包括的数据项有:图书号、书名、图书数量、作者、出版社、出版日期、所属图书馆等。

2、借阅人信息,包括的数据项有:一卡通卡号、姓名、性别、专业、联系方式3、图书馆信息,包括的数据项有:图书馆ID、图书馆名称等。

4、图书借阅关系,包括的数据项有:一卡通卡号、图书号、借阅时间、还书时间等。

5、图书收藏关系,包括的数据项有:图书馆ID、图书号、藏书量等。

二、数据库功能组成三、 数据库概念结构设计本数据概念设计采用E-R 图体现。

各个实体具体的E-R 图描述如下:图书信息E-R 图所在校区图书馆图书馆ID图书馆信息E-R 图借阅者姓名年级专业一卡通卡号 联系方式借阅者信息E-R 图实体及其关系E-R图四、数据库逻辑结构设计逻辑结构设计,即将以上E-R图转化为关系模式,具体如下所示:1、借阅关系信息表:创建此表所需要的字段名是:借阅人一卡通号、借阅图书号、借阅时间、借阅期限、还书时间,其中借阅人一卡通号、借阅图书设为主键。

学生借阅图书表字段名字段类型字段宽度说明描述jyykth varchar 10 不空,主键借阅人一卡通号jytsh varchar 18 不空,主键借阅图书号jysj datetime 18 不空借阅时间hssj datetime 18 不空还书时间qfje money 8 不空欠费金额2、图书馆信息表:创建此表所需要的字段名是:图书馆ID、图书馆名称,其中图书馆ID设为主键。

  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-1update 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 Bookwhere BookID=@BookIDupdate Readerset ReaBs=ReaBs-1where ReaID =@ReaID存储过程1.Book_Insert的定义:CREATE PROCEDURE Book_Insert@BookID 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_Insert@ReaID char(9),@ReaName char(10),@ReaSex char(2),@ReaNo char(9),@ReaDep char(20),@ReaGrade char(5),@ReaPref char(20),@ReaDate Datetime@ReaBs 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_Insert@MID char(10) ,@MName char(10),@MSex char(2),asinsert into Manegeralues(@MID , @MName ,@MSex );4.Borrow_Insert的定义:CREATE PROCEDURE Borrow_Insert@BookID 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_R@ReaID 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_Writer@BookWriter char(50)asselect *from Bookviewwhere 作者like '%'+ltrim(@BookWriter)+'%';8. Query_Book_Name_Publish的定义:create procedure Query_Book_Name_Publish@BookName char(50),@BookPublish char(20)asselect *from Bookviewwhere 书名=ltrim(@BookName) and 出版社=ltrim(@BookPublish);9. Delete_Reader的定义:create procedure Delete_Reader@ReaNo char(9)asdeletefrom Readerwhere ReaNo = ltrim(@ReaNo);10. Delete_Book的定义:create procedure Delete_Book@BookID char(9)asdeletefrom Bookwhere BookID= ltrim(@BookID);七.实验小结这次实验使我熟悉了如何独立的建立一个系统,通过自己所学的知识,综合运用,并了解自己的不足之处。

相关文档
最新文档