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

上传人:b****4 文档编号:3589770 上传时间:2022-11-24 格式:DOCX 页数:13 大小:48.87KB
下载 相关 举报
数据库图书管理系统课程设计.docx_第1页
第1页 / 共13页
数据库图书管理系统课程设计.docx_第2页
第2页 / 共13页
数据库图书管理系统课程设计.docx_第3页
第3页 / 共13页
数据库图书管理系统课程设计.docx_第4页
第4页 / 共13页
数据库图书管理系统课程设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

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

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

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

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

课程设计报告

 

课程设计题目:

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

 

专业:

信息工程

班级:

姓名:

胡慧斌

学号:

5

指导教师:

罗亚宾

2013年1月4日

一.实验题目

图书借阅管理系统数据库的设计与实现

二.实验时间.地点

软件楼601,2013年1月5—6号

三.实验目的

通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

四.实验要求

1.对各个系统进行系统功能需求分析

2.数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)

3.设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定

4.通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引

5.根据系统功能需求设计相应的查询视图

6.要求根据系统功能需求建立存储过程

7.根据功能需求建立相应的触发器以保证数据的一致性

8.通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)

五.实验思路

1.系统需求分析:

A.系统目标:

本系统将实现用计算机管理图书借阅的功能。

具体完成图书信息管理、读者信息管理、及图书借阅管理等功能。

B.系统的功能需求:

本系统用户分为读者用户和管理员用户两类,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。

读者用户只具有查询书籍和自己信息的权限。

C.系统功能描述:

系统开发的主要目的是实现图书馆信息管理的系统化、规范化和自动化。

图书馆信息管理系统主要提供对图书信息的管理及读者信息的管理。

需要完成的主要功能有:

1、有关读者信息的输入、修改和查询;

2、图书信息的输入、修改和查询;

3、借阅信息的维护(包括借,还信息录入,修改和删除);

2.实体图及E—R图

1.读者信息实体表

可借书数

已借书数

逾期未还书数

读者

读者姓名

读者性别

读者种类e

登记时间

读者借书证编号

 

②.书籍实体图

 

书籍

收录时间

书籍作者

是否被借

书籍编号

书籍名称

出版时间

出版社

 

③.借阅记录实体图

读者借书证编号

书籍类别编号

借阅时间隔

借阅记录信息

 

④.归还记录实体图

归还信息记录

读者借书证号

书籍类别编号

归还时间

⑤.罚款信息实体图

书籍类别编号

罚款信息实体实体

罚款金额

读者姓名

读者借书证编号

书籍名称

借阅时间隔

 

⑥.信息实体E-R图

 

还书信息

读者

归还

书籍

罚款

借阅

罚款信息

 

借阅信息

m

n

m

n

m

n

 

3.二维关系表

表3-1  system_readers读者信息表格

表中列名

数据类型

可否为空

说明

readerid

varchar

notnull(主键)

读者借书证号

readername

varchar

notnull

读者姓名

readersex

varchar

notnull

读者性别

readertype

varchar

notnull

读者种类

regdate

datetime

null

登记日期

booktotal

int

null

可借书数

borrowednum

int

null

已借书数

overduenoreturnnum

int

null

逾期未还书数

表中列名

数据类型

可否为空

说明

bookid

Varchar

Notnull(主键)

书籍编号

bookname

Varchar

Notnull

书籍名称

表3-2 system_book书籍信息表

 

bookstyle

Varchar

Notnull

书籍类别

bookauthor

Varchar

Notnull

书籍作者

bookpub

Varchar

Null

出版社名称

bookpubdate

Datetime

Null

出版日期

bookindate

Datetime

Null

登记日期

isborrowed

Bit

NotNull

是否被借出

表3-3 borrow_record借阅记录信息表

表中列名

数据类型

可否为空

说明

readerid

Varchar

Notnull(外主键)

读者借阅证编号

bookid

Varchar

Notnull(外主键)

书籍编号

borrowdate

Datetime

Notnull

读者借书时间

表3-4 return_record借阅记录信息表

表中列名

数据类型

可否为空

说明

readername

Varchar

Notnull(外主键)

读者借阅证编号

readerid

Varchar

Notnull(外主键)

书籍编号

returndate

datetime

Notnull

读者还书时间

表3-5 reader_fee罚款记录信息表

表中列名

数据类型

可否为空

说明

readerid

varchar

Notnull

读者借书证编号

readername

varchar

Notnull

读者姓名

bookid

varchar

Notnull(外主键)

书籍编号

bookname

varchar

Notnull

书籍名称

bookfee

Smallmoney

NotNull

罚款金额

borrowdate

datetime

NotNull

借阅时间

4.关系模式

(1)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数,已借书数,逾期未还书数)

(2)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)

(3)借阅(借书证编号,书籍编号,读者借书时间)

(4)还书(借书证编号,书籍编号,读者还书时间)

(5)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)

5.系统功能模块图

图书借阅系统

查询子系统

管理子系统

借还书子系统

查询图书

直接查询

图书管理

读者管理

罚款管理

借书

还书

六.实验过程

---创建代码

建立数据库

createdatabaselibrarysystem

on

(name=librarysystem,

filename='d:

\librarysystem.mdf',

size=10,

maxsize=50,

filegrowth=5)

logon-----指明事务日志文件

(name='library',

filename='d:

\librarysystem.ldf',-------指定存储的路径名和文件名

size=5mb,

maxsize=25mb,

filegrowth=5mb)

建立图书信息表

createtablesystem_books

bookidvarchar(20)primarykey,---书籍编号为主键

booknamevarchar(30)Notnull,---图书名称

bookstylevarchar(30)Notnull,---图书类型

bookauthorvarchar(30),---图书作者

bookpubvarchar(30),---出版社

bookpubdatedatetime,---出版时间

bookindatedatetime,---收录时间

isborrowedbit,---是否被借

建立读者信息表

createtablesystem_readers

readeridvarchar(9)primarykey,---借书证号为主键

readernamevarchar(10)notnull,----读者姓名

readersexchar

(2)notnull,----性别

readertypevarchar(20)notnull,----读者类型

regdatedatetime,----登记时间

booktotalint,----可借书数

borrowednumint,----已借书数

overduenoreturnnumint----过期末还书数

建立借书记录表

createtableborrow_record

(bookidvarchar(20)primarykey,---书籍编号

readeridvarchar(9),----借书证号

borrowdatedatetime,-----借书时间

foreignkey(bookid)referencessystem_books(bookid),-----定义书籍编号为借书表的外键

foreignkey(readerid)referencessystem_readers(readerid),----定义借书证号为借书表的外键

建立还书记录表

createtablereturn_record

(bookidvarchar(20)primarykey,----书籍编号为主键

readeridvarchar(9),----借书证号

returndatedatetime,-----归还时间

foreignkey(bookid)referencessystem_books(bookid),-----定义书籍编号外键

foreignkey(readerid)referencessystem_readers(readerid)----定义借书证号为外键

建立罚款单表

createtablereader_fee

(readeridvarchar(9)notnull,--借书证号

readernamevarchar(9)notnull,--读者姓名

bookidvarchar(20)primarykey,---借书证号

booknamevarchar(30)Notnull,---书籍名称

bookfeesmallmoney,--罚款金额

borrowdatedatetime,--借阅时间

foreignkey(bookid)referencessystem_books(bookid),---定义书籍编号外键

foreignkey(readerid)referencessystem_readers(readerid)---定义借书证号为外键

索引的创建

createindexborrow_record_index_readeridonborrow_record(readerid)—为借阅表在借书证号上建索引

createindexreader_fee_index_readeridonreader_fee(readerid)—为罚款表在借书证号上建索引

createindexreturn_record_index_readeridonreturn_record(readerid)--为归还表在借书证号上建索引

createindexsystem_books_index_booknameonsystem_books(bookname)—为图书信息表在书籍编号上建索引

createindexsystem_books_index_bookauthoronsystem_books(bookauthor)---为图书信息表在作者上建索引

创建视图

createviewb1_system_books

asselectbookid,bookstyle,bookpub,bookname

fromsystem_books

createviewr1_system_readers

asselectreaderid,readername,readertype

fromsystem_readers

createviewb2_borrow_record

asselectbookid,readerid

fromborrow_record

建立借书记录存贮过程

createproceduresp_borrowbook@bookidchar(20),

@readeridchar(9)

as

insertintoborrow_record(bookid,readerid,borrowdate)

values(@bookid,@readerid,getdate())

go

-------------建立还书记录存贮过程

createproceduresp_returnbook@bookidchar(20),@readeridchar(9)

as

deletefromretun_record

wherebookid=@bookidandreaderid=@readerid

go

-------------建立罚款单存贮过程

createproceduresp_readerfee@readeridchar(9),@borrowdatedatetime

as

updatereader_fee

setbookfee=0.1*(day(getdate())-day(@borrowdate))

wherereader=@readerid

andborrowdate=@borrowdate

-------------建立借书记录表增加触发器

createtrigger[tr_addlend]onborrow_record

forinsert

as

updatesystem_books

setisborrowed=1

wherebookidin(selectbookid

frominserted)

updatereader

setborrowednum=borrowednum+1

wherereaderidin(selectreaderid

frominserted)

-------------建立还书记录删除触发器

createtrigger[tr_dellend]onreturn_record

fordelete

as

updatesystem_books

setisborrowed=0

wherebookidin(selectbookid

fromdeleted)

updatesystem_readers

setborrowednum=borrowednum-1

wherereaderidin(selectreaderidfromdeleted)

-------------建立删除图书触发器

createtrigger[tr_dellendbook]onsystem_books

fordelete

as

deletereader_fee

wherebookidin(selectbookid

fromdeleted)

deletereturn_record

wherebookidin(selectbookidfromdeleted)

---信息的录入

insertinto

system_books(bookid,bookname,bookstyle,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)

values('','计算机组成原理','王爱英','工科类','清华大学出版社','2001-01-03','2003-11-15','1')

insertinto

system_readers(readerid,readername,readersex,readertype,regdate,booktotal,borrowednum,overduenoreturnnum)

values('5','张三','男','学生','2013-1-6','8','2','0')

insertintoborrow_record(bookid,readerid,borrowdate)

values('','5','2012-12-18')

insertintoreturn_record(bookid,readerid,returndate)

values('','5','2012-1-18')

----信息的修改

updatesystem_books

setbookname='王英'

wherebookid=''

updatesystem_readerssetreadersex='女'

wherereaderid='5'

updateborrow_record

setbookid=’’

wherebookid=’’

updatereturn_record

setbookid=’’

wherebookid=’’

 

-----信息的删除

deletefromsystem_books

wherebookid=’2’

deletefromsystem_readers

wherereaderid=’5’

deletefromborrow_record

wherebookid=’2’

七.实验总结

本次实验通过对图书借阅功能的分析,我分别创建了图书信息表,读者信息表,借阅信息表,还有一张罚款表。

对借书记录用存储过程建立,建立借书记录表增加触发器和还书记录删除触发器实现表的更新。

程序也有不足的地方,那就是不能查询图书的数量以及图书可以借阅的时间限制。

该数据库也没有备份与还原功能,这也是一个很大的缺点。

我还用存储过程实现了罚款功能。

八.心得体会

这次实训最大的体会就是明白到自己之前有多么的懒惰,学过的东西没有去复习和联系。

导致这次实训到临时来学习。

零时来翻课件学习语句,还好在老师的帮助下,攻克了很多难题。

这次最大的收获就是学会了分析一个系统的需要,明白了不管学什么都要用心去练习。

这次实训虽然遇到了很多困难,但是我也发现,只要用心的去学,去钻,就一定能弄懂。

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

当前位置:首页 > PPT模板 > 国外设计风格

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

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