图书借阅管理系统Word文件下载.docx

上传人:b****3 文档编号:18341528 上传时间:2022-12-15 格式:DOCX 页数:19 大小:1,004.22KB
下载 相关 举报
图书借阅管理系统Word文件下载.docx_第1页
第1页 / 共19页
图书借阅管理系统Word文件下载.docx_第2页
第2页 / 共19页
图书借阅管理系统Word文件下载.docx_第3页
第3页 / 共19页
图书借阅管理系统Word文件下载.docx_第4页
第4页 / 共19页
图书借阅管理系统Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

图书借阅管理系统Word文件下载.docx

《图书借阅管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

图书借阅管理系统Word文件下载.docx

(III.1.3)借书管理E-R图

(III.1.4)图书管理E-R图

(III.2)全局E-R图。

(III.3)数据字典。

(III.3.1)数据流条目

①注册申请数据流条目

数据流名称

注册申请

简述

读者第一次想图书馆借阅书籍时需要注册登记

别名

组成

注册申请=申请卡号+姓名+密码+注册时间+联系方式

②图书借阅数据流条目

图书借阅

读者向图书馆进行图书借阅是需要进行相应的登记

图书借阅=借书卡号+密码+书名+借阅数量+借阅日期

(III.3.2)存储条目

①读书信息文件条目

文件名

读者信息

包括所有读者的信息

读者信息=借书卡号+姓名+密码+注册时间+联系方式

②借/还信息文件条目

借/还信息

包括所有读者借书以及归还图书的所有记录

借/还信息=借书卡号+姓名+密码+借书时间+还书时间+联系方式

③图书信息文件条目

图书信息

包括所有图书的信息

图书信息=图书编号+图书名称+图书位置+库存量+单价

④罚款信息文件条目

罚款文件

包含所有罚款信息

罚款信息=借书卡号+密码+姓名+罚款原因+罚款金额

(III.3.3)数据项条目

1借书卡号数据项条目

借书卡号

每个读者注册时的卡号

借书卡号=年份(XXXX)+月份(XX)+序号(XX)

值类型

9位数字

取值范围

2图书编号数据项条目

图书编号

包括图书的具体位置

图书编号=图示类别(XXXXX)+书架号(XXXX)+序列号(XX)+图书名称(XXXXX)

17位数字

(IV)数据库实现

(IV.1)数据库及数据库对象创建的SQL语句。

tb_reader学生表

CREATETABLE`tb_reader`(

`readerid`varchar(10)NOTNULL,

`rname`varchar(20)NOTNULL,

`sex`varchar

(2)NOTNULL,

`grade`varchar

(1)NOTNULL,

`Profession`varchar(20)NOTNULL,

`ifeffective`tinyint(4)NOTNULL,

`email`varchar(20)DEFAULTNULL,

PRIMARYKEY(`readerid`)

tb_manager管理员表

CREATETABLE`tb_manager`(

`managerid`varchar(10)NOTNULL,

`loginname`varchar(20)NOTNULL,

`password`varchar(20)NOTNULL,

PRIMARYKEY(`managerid`)

tb_borrow借阅表

CREATETABLE`tb_borrow`(

`borrowid`int(11)NOTNULLAUTO_INCREMENT,

`bookid`varchar(10)NOTNULL,

`borrowTime`datetimeNOTNULL,

`backTime`datetimeNOTNULL,

`ifreborrow`tinyint(4)NOTNULL,

PRIMARYKEY(`borrowid`)

tb_book图书表

CREATETABLE`tb_book`(

`bname`varchar(20)DEFAULTNULL,

`type`varchar(20)DEFAULTNULL,

`author`varchar(20)DEFAULTNULL,

`price`float(10,2)DEFAULTNULL,

`publish`varchar(20)DEFAULTNULL,

`quantity`tinyint(4)NOTNULL,

`remain`tinyint(4)NOTNULL,

PRIMARYKEY(`bookid`)

tb_punishment超期处罚表

tb_purview管理员权限设置表

(IV.2)存储过程

创建存储过程,输入读者id查询出书名、借阅时间、归还时间、管理员id、是否续借情况

createprocedurep

@readerid_invarchar(10),

@bookid_invarchar(20),

@bname_outvarchar(20)output,

@borrowTine_outdatetimeoutput,

@backTime_outdatetimeoutput,

@managerid_outvarchar(20)output,

@ifxeborom_outtinyintoutput

as

select

@bname_out=bname,@borrowTime_out=borrowTime@backTime_out

=backTime,@managerid_out=managerid,@ifreborrow_out=ifreborrow

fromtb_book,tb_borrow

wheretb_borrow.readerid=@readerid_inand

tb_borrow.bookid=@bookid_inandtb_book.bookid=b_borrow.bookid

存储过程使用

declare@readerid_invarchar(10),

@bookid_invarchar(20),

@bname_outvarchar(20),

@borrowTime_outdatetime,

@backTime_outdatetime,

@managerid_outvarchar(10),

@ifreborrow_outtinyint

select@readerid_in='

2010508033'

seleet@bookid_in='

005'

execp@readerid_in,@bookid_in,@bname_out

output,@borrowTime_outoutput,@backTime_out

output,@managerid_outoutput,@ifreborrow_outoutput

print'

书名:

'

+@bname.out

借书吋囘:

+rtrim(@borrowTime_out]

还书肘囘:

+tim(@backTime_out}

管理员编号:

+@managerid_out

是否续借:

+rtrim(@ifreborrow_out)

(IV.3)触发器

(IV.3.1)借书触发器。

当借书时,图书表中的remain(剩余图书)自动减一。

createtriggert_borrow

ontb_borrowforinsert

as

declare@bookid_readvarchar(10)

select@bookidread=bookidfrominserted

begin

updatetb_booksetremain=remain-1wherebookid=@bookid_read

End

(IV.3.2)还书触发器。

当还书时,图书表中的remain自动加一。

createtriggert_back

ontb_borrowforupdate

asifupdate(backTime)

declare@bookid_readvarchar(10}

select@bookid_read=bookidfrominserted

updatetb_booksetremain=remin+1wherebookid=@bookid_read

(IV.3.3)罚款触发器,当借阅图书短期时,自动在punishment表中添加罚款记录。

记录罚款读者、书名、天数、金额并且自动将reader表中的ifeffective置为0,使该读者不能再借书。

createtriggert_punish

ontb_borrowforupdate

as

ifupdate(backTime)

begin

declare@backTimedatetine,

@borrowTimedatetime,

@ifxeborrowtinyint,

@daysint,

@days1int,

@bmoneyint,

@readeridvarchar(10),

@bookidvarchar(10)

select@backTime=backTimefrominserted

select@borrowTime=borrowTimefrominserted

select@ifreborrow=ifreborrowfrominsented

select@day=convert(int,@backTime)-convert(int,@boxrowTime)

select@readerid=readeridfrominserted

select@bookid=bookidfrominserted

if@days>

30

if@ifreborrow=1

60

select@days1=@days-60

select@money=@days1*0.1

insertinto

tb_punishment(readerid,bookid,days,bmoney)

values(@readerid,@bookid,@days1,@bmoney)

updtetb_readersetifeffective=0whexe

readerid=@readerid

end

if@ifreborrow=0

select@days1=@day-30

tb_punishment(@radeeid,bookid,days,bmoney)

updatetb_readersetifeffective=0where

readerid=@readerid

end

(IV.3.4)读者是否有效触发器。

当读者借书时,检查reader表中的ifeffective属性,若为0则说明有短期罚款,不能借书。

creztetriggert_ifcanborrow

ontb_borrowforinsert

declare@readeridvarchar(10),

@ifeffectivetinyint

select@ifeffective=ifeffectivefromtb_readerwhere

readerid=@readerid

if@ifeffective=0

begin1

print'

您有短期罚款'

rollbacktransactiom

(IV.4)视图

创建视图查询各种图书的书号、书名、总数和在册数。

createviewview_query

asselectbookid,bname,quantity,remainfromtb_book

创建视图查询读者的短期罚款情况。

其中包括读者号。

读者姓名。

罚款书名,罚款金额。

createviewview_reader

asselecttb_punishment.readerid;

rname,bname,bmoneyfrom

tb_pumishment,tbbook,tb_readerwhere

tb_pumishment.bookid=tb_book.bookidand

tb_punishment.readerid=tb_reader.readerid

(V)结论

一、数据库主要知识点 

我们首先从第一章绪论了解了数据库的概念,其中有几个较为重要的知识点,即数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)的概念以及数据库管理员(DBA)的职责。

此外本章还介绍了数据库发展的三个阶段:

人工管理阶段、文件系统阶段和数据库系统阶段。

第二章介绍了数据模型和三层模式数据库。

本章要求我们理解实体-联系方法,并学会绘制E-R图。

此外还应掌握概念数据模型的意义和传统的三大数据模型,以及数据独立性和数据库三层模式结构。

接着开始着重讲述现在普遍使用的关系数据库。

包括关系数据模型的数据结构和基本术语,关系模型的完整性约束和关系代数运算。

重点是关系模式完整性的分类和功能,以及关系代数中集合运算和关系运算。

最后介绍了关系数据库系统的三层模式结构。

第五章系统讲述了关系数据库的标准语言SQL的定义功能、查询功能、操作和控制功能。

重点在于数据查询功能。

另外还介绍了视图的用法和动态SQL中定义、操作和查询功能。

第六章的知识点有:

存储过程的创建和执行过程、修改和删除;

触发器的基本概念,建立,插入和删除视图,插入、删除和更新类触发器。

最后介绍了数据完整性。

第七章介绍安全性,包括安全性措施的层次、数据库管理系统的安全功能等,用户管理和角色管理,权限管理。

其他的安全问题包括:

数据加密、审计、统计数据库和用户定义的安全性措施。

事务管理这一章首先介绍了事务的概念、性质以及

SQL对事务的支持。

并发控制——干扰问题、可串行性、封锁、死锁、隔离级别、封锁与隔离级别;

恢复——故障类型、备份类型、日志的概念、恢复模型、备份转储、还原。

第九章为关系数据理论:

函数依赖术语和符号;

函数依赖的公理系统——Amstrong公理的内容及其正确性、逻辑蕴含和闭包、公理的完备性、闭包的计算、函数依赖集的等价和最小化;

规范化——1NF、2NF、3NF、BCNF;

模式分解。

第十章:

数据库设计。

完善E-R模型中的概念——弱实体,依赖关系,强制联系;

数据库设计的过程主要掌握其建立的步骤。

第十一章介绍面向对象数据库:

新的数据库应用和新的数据库类型;

面向对象的数据模型——对象与类;

对象的属性、方法和状态、对象的交互和消息、类的确

定和分化、封装、继承、多态;

对象关系数据库与对象数据库;

面向对象数据库的研究。

十二章“数据库应用的结构和开发环境”并非重点,而第十三章的内容在软件工程课程中就已经掌握,所以这两章的知识点就略过了。

第十四章分布式数据库与分布式数据管理:

概念;

分布式数据库的分布方式;

分布式数据库特点和目标——更新传播、分布式查询处理、目录表管理、分布式事务管理;

SQLServer的复制及其术语、复制模型。

十五章数据仓库:

结构;

数据仓库系统;

建立数据仓库系统;

实现数据仓库的数据库模型;

数据仓库与决策支持。

最后,数据库研究和应用的新领域这一章中掌握知识库的知识即可。

二、学习数据库的心得 

SQL(结构化查询语言)是用于执行查询的语法。

但是SQL语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了SQL的DML部分:

SELECT-从数据库表中获取数据UPDATE-更新数据库表中的数据DELETE--从数据库表中删除数据INSERTINTO-向数据库表中插入数据SQL的数据定义语言(DDL)部分使我们有能力创建或删除表格。

我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL中最重要的DDL语句:

CREATE

DATABASE-创建新数据库ALTERDATABASE-修改数据库CREATETABLE-创建新表ALTERTABLE-变更(改变)数据库表DROPTABLE-删除表CREATEINDEX-创建索引(搜索键)DROPINDEX-删除索引数据库有保持数据的独立性,所谓数据独立,是指存储在数据库中的数据独立于处理数据的所有应用程序而存在。

也就是说,数据是客观实体的符号化标识,它就是一个客观存在,不会因为某一项应用的需要而改变它的结构,因此是独立于应用而存在着的客观实体。

而某一项应用是处理数据获取信息的过程,也就是应用程序,它只能根据客观存在着的数据来设计所需要的数据处理方法,而不会去改变客观存在着的数据本身。

数据库的传统定义是以一定的组织方式存储的一组相关数据的集合,主要表现为数据表的集合。

根据标准,SQL

语句按其功能的不同可以分为以下6大类:

数据定义语句(Data-DefinitionLanguage,DDL);

数据操作语句(Data-ManipulationLanguageSQLServer2005功能,DML);

操作管理语句(Transaction-ManagementLanguage,TML);

数据控制语句(Data-ControlLanguage,DCL);

数据查询语句(Data-QueryLanguage,DQL);

游标控制

语句(Cursor-ControlLanguage,CCL)。

这门课中仍然有许多不太懂的地方,还需要以后进一步学习。

 

三、对如何学好数据库的个人看法

1、首先从个人自学方面,由于数据库的内容较多,所以老师在教学时不是将每个知识点都精细地教授于我们,所以总体看来,该门课在上的时候,各知识点之间的衔接性不是很强,所以,这就要求我们,在学习该门课之前做好预习的准备,当然在上课时的认真听讲这是必要的,除此之外,在课后还要对上课的内容进行咀嚼,还有就是对相应的习题进行一定题量的练习,对不会的题目要反复斟酌,在这可以通过向同学或老师请教,从而达到解决,切不可对不会的题目放之任之,从而盲点越积越多,最终影响对数据库学习的积极性。

以上是对理论知识的学习方法,那么对于数据库的实验课学习来说,两者学习方式基本一样,只是通过上机课,来对理论知识进行实践,同时,也加深了对理论知识的认识的深度。

2、学习有时候不仅仅只是个人自闭的学习,我们不能将自学理解为自己一个人学习,而真的的会学习,或者说是效率更高的学习,是一种团队精神的学习,因为每个人看待问题的角度是不同的,通过和同学,老师的不断交流中,我们可以对某一事物有更深层次的理解,从而达到事半功倍的效果,省得我们一个人去钻牛角尖,最终问题还得不到有效地解决,所以,总结来说,学好数据库出个人的自学方面以外,还要加强和其他人的交流,创造一个好的学习氛围,为学好数据库做铺垫。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1