数据库课程设计图书借阅管理.docx

上传人:b****3 文档编号:24735427 上传时间:2023-06-01 格式:DOCX 页数:20 大小:220.27KB
下载 相关 举报
数据库课程设计图书借阅管理.docx_第1页
第1页 / 共20页
数据库课程设计图书借阅管理.docx_第2页
第2页 / 共20页
数据库课程设计图书借阅管理.docx_第3页
第3页 / 共20页
数据库课程设计图书借阅管理.docx_第4页
第4页 / 共20页
数据库课程设计图书借阅管理.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库课程设计图书借阅管理.docx

《数据库课程设计图书借阅管理.docx》由会员分享,可在线阅读,更多相关《数据库课程设计图书借阅管理.docx(20页珍藏版)》请在冰豆网上搜索。

数据库课程设计图书借阅管理.docx

数据库课程设计图书借阅管理

 

数据库课程设计

课程:

数据库应用

题目:

图书借阅管理

专业:

xxxxxxxxx

班级:

xxxxxxxxxx

座号:

xxxxxxxxxxx

姓名:

xxxxxxxxxxxx

xxx年xx月xx号

 

 

目录

一、开发背景:

二、需求分析:

三、数据库概念结构设计

四、数据库逻辑结构设计

五、系统结构框图及系统流程图

六、后台源代码以及功能说明

七、课程设计总结

八、参考文献

 

一、开发背景:

数据库技术和internet的飞速发展,使他们已经成为现代信息技术的重要的组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。

对于任何一个企业来说,数据是企业重要的资产,如何有效的利用这些数据,对于企业发展起着极其重要的作用。

随着我们市场经济的快速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,特别是在高校中,学生的数量较多,图书的数量也比较多,每天图书的借阅量比较大,采用手工的处理方式已经不能满足这种需要了,因此需要开发一个能够处理平时借阅管理的信息系统,这个信息系统主要负责处理图书馆日常的借书、还书和查询业务。

二、需求分析:

(1)、图书资料查询管理

读者在借书之前一般要对所需要的图书进行检索,以便查看是否存在自己所需的图书以及图书所在的区位以便能够快速找到相应的图书。

本模块主要实现读者能够

按图书的书名,

按图书的作者,

按图书的出版社

按图书名的关键字

进行检索。

2、借阅图书资料管理

(1)借书:

当读者查找到所需的图书并需要借阅时,可以向管理员联系,提供给管理员借书证以及图书编号。

管理员对读者提供的信息和借书时间进行登记(登记前对该读者和图书进行判断是否可借)

(2)还书:

当读者还书时,管理员对读者的借书证和图书号进行核对,符合的进行还书操作(管理员应检查图书是否损坏、是否超过规定的还书时间)

3、图书资料管理

管理员可以对新书进行入库和旧书下架等,其中图书的属性应包括图书编号、书名、作者、出版社、价格等;

同时,管理员要对图书进行分类,有增加分类,删除分类操作,其中图书类别应包括图书类别的编号、图书类别名称、图书所属区位。

4、读者信息管理

管理可以对读者信息进行添加,删除,修改等操作,例如修改读者密码、为读者进行充值

(2)、数据流程图

(3)数据字典

数据字典:

对数据流图中出现的对象、处理、存储、数据流进行文字说明解释。

这是后面设计工作的基础。

包括数据项,数据结构,数据流,数据存储,和处理过程。

1、数据项

编号

数据项名称

数据类型

约束条件

说明

1

SNO

CHAR(5)

UNUQUENOTNULL

学号

2

SNAME

VARCHAR(10)

NOTNULL

姓名

3

SSEX

CAHR

(2)

NOTNULL

性别

4

SDEPT

VARCHAR(20)

NOTNULL

所在系

5

SPW

CHAR(6)

NOTNULL

密码

6

RMB

SMALLMONEY

NOTNULL

余额

7

BWNUM

SMALLINT

NOTNULL

已借数量

8

MAXNUM

SMALLINT

NOTNULL

最大借阅量

9

BNO

CHAR(5)

UNIQUENOTNULL

图书编号

10

BNAME

VARCHAR(20)

NOTNULL

书名

11

WRITER

VARCHAR(20)

NOTNULL

作者

12

PRESS

VARCHAR(20)

NOTNULL

出版社

13

PRICE

SMALLMONEY

NOTNULL

价格

14

CATEGORY

VARCHAR(20)

NOTNULL

所属类别

15

AREA

CHAR

(2)

NOTNULL

所在区域

16

BNUM

TINYINT

NOTNULL

总数量

17

REMAIN

TINYINT

NOTNULL

剩余量

18

BDATE

DATE

NOTNULL

借书日期

19

LDATE

DATET

NOTNULL

归还日期

21

ODATE

SMALLINT

NOTNULL

超期时间

22

FMONEY

SMALLMONEY

NOTNULL

罚款金额

23

MNO

CHAR(5)

UNIQUENOTNULL

管理员账号

25

MPW

CHAR(6)

NOTNULL

管理员密码

26

MNAME

VARCHAR(10)

NOTNULL

管理员姓名

27

MTEL

NVARCHAR(20)

NOTNULL

管理员电话

2、数据结构

编号

数据结构名

属性

1

STUDENT

SNO,SNAME,SSEX,SDEPT,SPW,RMB,BWNUM,MAXNUM

2

BOOK

BNO,BNAME,WRITER,PRESS,PRICE,CATEGORY,AREA,BNUM,REMAIN

4

BORROW

SNO,BNO,BDATE,LDATE,ODATE,FMONEY

5

MANAGER

MNO,MPW,MNAME,TEL

3、数据流

编号

数据流名

输入

输出

1

读者信息

增加读者信息

读者信息

2

添加图书类型

图书类型信息

图书类型信息

3

添加图书

增加图书

图书信息

4

借阅图书

借阅图书信息

图书借阅信息

5

图书信息查询

查询方式

查询结果

4、数据存储

数据存储名

输入数据流

输出数据流

读者信息

读者信息

读者信息

图书类型信息

添加图书类型

图书类型信息

图书信息

图书信息

图书信息

图书借阅

借阅图书

图书信息

图书信息查询

查询方式

图书信息

5、处理过程

处理过程名

输入数据流

输出数据流

增加读者

终端

读者信息

图书类型信息

添加图书类型

图书类型信息

添加图书

终端

图书信息

借阅图书

借阅图书

图书信息

罚款

罚款金额

余额

图书信息查询

图书信息查询

图书信息

三、数据库概念结构设计

四、数据库逻辑结构设计

--读者信息表

STUDENT(SNO,SNAME,SSEX,SDEPT,SPW,RMB,BWNUM,MAXNUM)

--图书信息表

BOOK(BNO,BNAME,WRITER,PRESS,PRICE,CATEGORY,AREA,BNUM,REMAIN)

--借阅信息表

BORROW(SNO,BNO,BDATE,LDATE,ODATE,FMONEY)

--管理员信息表

MANAGER(MNO,MPW,MNAME,TEL)

五、系统结构框图及系统流程图

1、系统结构框图

2、系统流程图

六、后台源代码以及功能说明

--创建数据库

CREATEDATABASEBookDB

ONPRIMARY--默认就属于PRIMARY主文件组,可省略,ON不能省略

NAME='BookDB_data',--主数据文件的逻辑名

FILENAME='D:

\db\BookDB_data.mdf',--主数据文件的物理名

SIZE=5mb,--主数据文件初始大小

MAXSIZE=10Gb,--主数据文件增长的最大值

FILEGROWTH=15%--主数据文件的增长率

LOGON

NAME='BookDB_log',

FILENAME='D:

\db\BookDB_log.ldf',

SIZE=2mb,

FILEGROWTH=1MB

GO

--读者信息表

CREATETABLESTUDENT

SNOCHAR(5)PRIMARYKEY,

SNAMEVARCHAR(10),

SSEXCHAR

(2),

SDEPTVARCHAR(20),

SPWCHAR(6),

RMBSMALLMONEY,

BWNUMSMALLINT,

MAXNUMSMALLINT,

GO

--创建图书表

CREATETABLEBOOK

BNOCHAR(5)PRIMARYKEY,

BNAMEVARCHAR(30),

WRITERVARCHAR(20),

PRESSVARCHAR(30),

PRICESMALLMONEY,

CATEGORYVARCHAR(20),

AREACHAR(5),

BNUMTINYINT,

REMAINTINYINT

GO

--创建借阅信息表

CREATETABLEBORROW

SNOCHAR(5),

BNOCHAR(5),

BDATEDATETIME,

LDATEDATETIME,

ODATESMALLINT,

FMONEYSMALLMONEY,

PRIMARYKEY(SNO,BNO),

FOREIGNKEY(SNO)REFERENCESSTUDENT(SNO),

FOREIGNKEY(BNO)REFERENCESBOOK(BNO),

GO

--管理员信息表

CREATETABLEMANAGER

MNOVARCHAR(7)PRIMARYKEY,

MPWVARCHAR(6)NOTNULL,

MNAMEVARCHAR(10)NOTNULL,

TELNVARCHAR(20),

GO

 

insertintoSTUDENT

values('00001','李勇','男','计算机系','123456',130.40,0,20)

insertintoSTUDENT

values('00002','刘晨','女','数理系','123456',125.85,0,20)

insertintoSTUDENT

values('00003','王敏','女','管理学院','123456',214.55,0,20)

insertintoSTUDENT

values('00005','赵小六','男','设备系','123456',115.40,0,20)

insertintoSTUDENT

values('00006','李美丽','男','计算机系','123456',60.72,0,20)

insertintoSTUDENT

values('00007','张红','女','建筑系','123456',78.80,0,20)

insertintoSTUDENT

values('00008','胡思','男','土木系','123456',130.70,0,20)

insertintoSTUDENT

values('00009','何泽东','男','文传系','123456',15.83,0,20)

insertintoSTUDENT

values('00010','马小缪','男','电子系','123456',90.97,0,20)

GO

 

insertintoBOOK

values('11111','计算机组成原理','王爱英','清华大学出版社','23.5','工程技术类','A区',5,5);

insertintoBOOK

values('14512','计算机组成原理','王爱英','清华大学出版社','45.1','工程技术类','A区',4,4);

insertintoBOOK

values('75413','数据库原理','萨师煊','高等教育出版社','22.0','工程技术类','A区',5,5);

insertintoBOOK

values('75464','C程序设计','谭浩强','清华大学出版社','28.3','工程技术类','A区',6,6);

insertintoBOOK

values('57546','计算机体系结构','石教英','浙江大学出版社','59.6','工程技术类','A区',4,4);

insertintoBOOK

values('78454','数据结构(C语言版)','吴伟民,严蔚敏','清华大学出版社','38.0','工程技术类','A区',3,3);

insertintoBOOK

values('78455','中华历史年','吴强','北京大学出版社','44.2','历史类','B区',5,5);

insertintoBOOK

values('48785','古代埃及','赵文华','北京大学出版社','19.9','外国史','C区',2,2);

insertintoBOOK

values('24811','日本文化','吴小鹏','北京大学出版社','55.8','人文艺术类','D区',4,4);

insertintoBOOK

values('14476','微观经济学','李小刚','北京大学出版社','43.1','政治经济类','E区',7,7);

insertintoBOOK

values('85125','影视文学','苏庆东','北京大学出版社','31.2','图片艺术类','F区',5,5);

insertintoBOOK

values('47820','探索宇宙奥秘','苏庆东','北京大学出版社','88.7','自然科学类','G区',4,4);

insertintobook

values('10023','野草','鲁迅','人民教育出版社','12.3','人文艺术类','D区',6,6);

GO

 

insertintomanager

values('admin1','111111','张老师','1363636336')

insertintomanager

values('admin2','222222','李老师','1383838338')

GO

select*fromstudent

select*frombook

select*fromborrow

select*frommanager

 

--借书触发器

CREATETRIGGERT_BORROW

ONBORROW

forINSERT

AS

DECLARE@SNOVARCHAR(5),@BNOVARCHAR(5),@REMAINTINYINT,@BWNUMTINYINT,@MAXNUMTINYINT

SELECT@SNO=SNO,@BNO=BNOFROMINSERTED

SELECT@REMAIN=REMAINFROMBOOKWHEREBNO=@BNO

SELECT@BWNUM=BWNUM,@MAXNUM=MAXNUMFROMSTUDENTWHERESNO=@SNO

IF@REMAIN>0AND@BWNUM<@MAXNUM

BEGIN

UPDATEBOOK

SETREMAIN=REMAIN-1

WHEREBNO=@BNO;

UPDATESTUDENT

SETBWNUM=BWNUM+1

WHERESNO=@SNO;

 

END

 

--还书触发器

CREATETRIGGERT_RETURN

ONBORROW

AFTERDELETE

AS

DECLARE@SNOVARCHAR(5),@BNOVARCHAR(5),@BDATEDATETIME,@LDATEDATETIME,@DAYINT,@ODAYINT,@FMONEYINT

SELECT@SNO=SNO,@BNO=BNO,@BDATE=BDATE,@LDATE=LDATE,@ODAY=ODATE,@FMONEY=FMONEYFROMDELETED

SET@DAY=DATEDIFF(DAY,@BDATE,@LDATE)

SET@ODAY=@DAY-30

IF@ODAY<0

BEGIN

UPDATEBORROW

SETODATE=0,FMONEY=0

WHERESNO=@SNOANDBNO=@BNOANDBDATE=@BDATE;

UPDATESTUDENT

SETBWNUM=BWNUM-1

WHERESNO=@SNO;

UPDATEBOOK

SETREMAIN=REMAIN+1

WHEREBNO=@BNO;

END

ELSE

BEGIN

UPDATEBORROW

SETODATE=@ODAY,FMONEY=@ODAY*0.1

WHERESNO=@SNOANDBNO=@BNOANDBDATE=@BDATE;

UPDATESTUDENT

SETBWNUM=BWNUM-1,RMB=RMB-@ODAY*0.1

WHERESNO=@SNO;

UPDATEBOOK

SETREMAIN=REMAIN+1

WHEREBNO=@BNO

END

七、课程设计总结

经过2周的课程设计,让我对数据库和delphi有了新的认识和深刻的了解。

虽然只是短短的2周时间,但是在这2周,我们把课堂里面老师讲的只是运用到实践中去了,我们都感到非常的高兴,不仅学到了知识,还锻炼了团队合作的能力,我相信这对我们以后的工作有很大的帮助。

数据库应用系统开发的过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段。

我们设计的这个简单的图书馆管理系统,实现了一些图书管理和借阅功能,以及信息维护的功能。

期间,我们对应用情况做了简单的理想化处理,因而难以反映实际工作中可能遇到的实际问题,例如:

也未考虑用户操作中可能出现的错误的处理,而实际上这种错误的处理程序可能占应用系统的很大一部分,例如:

用户借阅书籍多次借阅处理。

为了解决这些不完善之处需要在今后的进一步学习中,逐步深入,不断积累经验,不断的提高。

八、主要参考文献

1.王珊萨师煊编《数据库系统概论》高等教育出版社

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

当前位置:首页 > 初中教育 > 科学

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

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