聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 图书管理数据库课程设计报告(有完整代码)

图书管理数据库课程设计报告(有完整代码)

时间:2015-11-30 09:28:23    下载该word文档

集美大学诚毅学院

数据库原理课程设计报告

设计题目 图书馆管理系统

专业班级 计算机1191

2011957032

学生姓名

指导教师

成绩

信息工程系


摘要

图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化和社会信息化的重要基地。它担负着教育与信息服务的双重职能,也是全校师生学习研究的重要场所。

有人说,图书馆是学生的第二课堂,是真正意义上的学习中心,更赋于它“高校的心脏”之美誉,那么“读者第一,服务至上”的办馆宗旨将使图书馆肩负更重的责任感和使命感。图书馆将根据学校教学科研的需求,对传统文献和数字文献进行合理而科学的整合与开发,并努力为各学科提供更加全面的资源保障,争取在不远的将来,建成涵盖我校人文社会科学所有专业,并在经济学学科、法学学科及管理学科领域具有鲜明特色的知识资源系统,以及多元化、深层次、多形式、优质高效、快捷便利的现代化知识服务体系,为创建一流研究型大学图书馆打下坚实的基础。

目录

1.问题描述 4

1.1背景 4

.需求分析 5

2.1需求分析 5

2.2数据流图 5

2.3数据字典 6

3.概念结构设计 7

3.1 E-R 7

3.2实体及属性的定义 8

4. 逻辑结构设计 8

5.数据库的实施和维护 15

6.结束语 20


1.问题描述

1.1背景

随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。

在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。

本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。采用结构化的功能模块设计系统功能,可读性好,易于扩充。基本功能全面,系统可读性好,易于维护、更新,安全性好。

.需求分析

2.1需求分析

读者信息:读者编号,姓名,性别,学号类型,类别编号

管理员信息:管理员编号,姓名,性别,权限,登录口令

馆藏图书信息:图书编号,索书号,图书名称,副本数,分类,状态

借阅信息:图书编号,读者编号借阅日期,归还日期,归还日期,应还日期,罚金

借阅历史信息:图书编号,读者编号,图书名,作者,借阅日期,还书日期

罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号

2.2数据流图

2.3数据字典

a)数据项:

1.1 数据项列表

b)数据结构:

1.2 数据结构列表

3.概念结构设计

3.1 E-R

部分ER

m

n

m m

n n

1 n

1 n

N

1

1

N n m

M 1

1 n n n

N n m

4.逻辑结构设计

4.1 E-R图转化为相应关系模式

图书Book(BookID, BookNo, BookName BookState,BookRN)

读者Reader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType)

管理员Maneger(MID, MName, MSex, Mpwd, MAuth)

馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)

读者类别ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)

ER图中联系的属性如下所示:

借阅信息Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)

借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)

罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)

4.2 建立相应数据库(基本表、视图、查询等)

4.2.1数据库设计说明

2.1 馆藏图书信息表

2.2 读者信息表

2.3 管理员信息表

2.4 馆室信息表

2.5 读者类别信息表

2.6 借阅信息表

4.2.2创建数据库

打开SQL Server,新建一个数据库,名称为Book

4.2.3创建药品资料

1.建表过程:

1)读者类别信息表的建立:

CREATE TABLE ReaderType(

LBID CHAR(5) PRIMARY KEY,

LBNname CHAR(20) NOT NULL,

LBnum CHAR(5) NOT NULL,

LBbqx CHAR(4) NOT NULL,

LBqx CHAR(3) NOT NULL,

)

2)管理员基本信息表的建立:

CREATE TABLE Maneger(

MID char(10) PRIMARY KEY,

MName char(10) not null,

MSex char(2),

Mpwd char(8) not null,

MAuth char(40) not null,

check(MSex ='' or MSex ='')

)

3)图书馆室基本信息表的建立:

CREATE TABLE Room(

RoomNo char(5) PRIMARY KEY,

RoomMID char(10) not null,

Roomnum char(5),

RoomAddre char(20),

foreign key(RoomMID) references Maneger(MID),

)

4)馆藏图书基本信息表的建立:

CREATE TABLE Book(

BookID char(9) PRIMARY KEY,

BookNo char(20) not null,

BookName char(50) not null,

BookCopy char(5),

BookState char(10) not null,

BookRNo char(5) not null,

foreign key(BookRNo) references Room(RoomNo),

)

5)读者基本信息表的建立:

CREATE TABLE Reader(

ReaID char(9) PRIMARY KEY,

ReaName char(10) not null,

ReaSex char(2) not null,

ReaNo char(9) not null,

ReaLBID char(5) not null,

ReaType char(20),

foreign key(ReaLBID) references ReaderType(LBID),

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),

CLState char(8),

MID char(10) not null,

primary key(BookID,ReaID),

foreign key(MID) references Maneger(MID)

)

4.2.4创建相关视图

1)用于查询图书基本信息的视图定义如下:

create view Bookview (索书号, 书名, 图书状态)

as

select BookNo,BookName,BookState

from Book

2)用于读者基本信息查询的视图定义如下:

create view Readerview (读者姓名,类型)

as

select ReaName,ReaType

from Reader

3)用于显示当前借阅基本信息的视图定义如下:

create view Borrowview (读者编号,书名,借阅日期,到期日期)

as

select ReaID,BookName,Outdate,YHdate

from Borrow,Book

where Borrow.BookID=Book.BookID and Borrow.Indate is null

4)用于借阅历史信息查询的视图定义如下:

create view Historyview (读者编号,书名,借阅日期,归还日期)

as

select ReaID,BookName,Outdate,Indate

from Borrow,Book

where Borrow.BookID=Book.BookID and Borrow.Indate is not null

5)用于查询罚款信息的视图定义如下:

create view Fineview (读者编号,书名,借阅日期,归还日期,罚款,处理状态)

as

select ReaID,BookName,Outdate,Indate,Fine,CLState

from Borrow,Book

where Borrow.BookID=Book.BookID and Fine is not null

4.2.4查询过程

1.Book_Insert的定义:

CREATE PROCEDURE Book_Insert

@BookID char(9) ,

@BookNo char(20),

@BookName char(50),

@BookCopy char(5),

@BookState char(10),

@BookRNo char(5)

as

insert into Book

values(@BookID ,@BookNo,@BookName,@BookCopy ,@BookState ,

@BookRNo);

2.Reader_Insert的定义:

CREATE PROCEDURE Reader_Insert

@ReaID char(9),

@ReaName char(10),

@ReaSex char(2),

@ReaNo char(9),

@ReaLBID char(5),

@ReaType char(20)

as

insert into Reader

values( @ReaID , @ReaName, @ReaSex,@ReaNo ,@ReaLBID,@ReaType);

3.Maneger_Insert的定义:

CREATE PROCEDURE Maneger_Insert

@MID char(10) ,

@MName char(10),

@MSex char(2),

@Mpwd char(8),

@MAuth char(40)

as

insert into Maneger

values(@MID ,@MName ,@MSex ,@Mpwd ,@MAuth);

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)

as

insert into Borrow

values(@BookID ,@ReaID ,@Outdate ,@YHdate ,@Indate ,@Fine ,@CLState ,@MID );

5.Query_Reader_R的定义:

create procedure Query_Reader_R

@ReaID char(9)

as

select *

from Readerview

where @ReaID = ltrim(@ReaID);

6. Query_Reader_M的定义:

create procedure Query_Reader_M

as

select *

from Readerview

6. Query_Reader_M的定义:

create procedure Query_Reader_M

as

select *

from Readerview

7. Delete_Reader的定义:

create procedure Delete_Reader

@ReaNo char(9)

as

delete

from Reader

where @ReaNo = ltrim(@ReaNo);

8. Delete_Book的定义:

create procedure Delete_Book

@BookID char(9)

as

delete

from Book

where @BookID= ltrim(@BookID);

5.物理结构设计

索引

create clustered index BookPublish on Book(BookPublish);

create clustered index ReaType on Reader(ReaType);

6.触发器设计

1.当删除Reader表中某一读者基本信息时,触发Borrow表,删除相应的记录

create trigger Reader_delete

on Reader

for delete

as

delete Borrow

from deleted

where Borrow.ReaID=deleted.ReaID

2.当在中增加一条借阅记录时,使该图书的状态由“可借”变为“不可借”

create trigger Borrow_insert1

on Borrow

for insert

as

declare @BookID char(9)

select @BookID=BookID

from inserted

update Book

set BookState='不可借'

where BookID=@BookID

7.数据库的实施和维护

7.1 数据库实施部分截图

查看reader

查看图书的视图

查看管理员信息

查看馆室

添加一条借书记录

borrow的表哥中多了一条记录:

在图书中显示此书为不可借:

删除一条借书记录:

borrow表中的记录显示删除:

7.2 数据库维护(数据表格)

.1 Book

.2 Boorow

3. Maneger

4. Reader

5. ReaderType

6. Room

8.结束语

数据库开发不是某种个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。因此,作为一个数据库开发人员,应该具备团结协作精神。同时,数据库开发是一项十分艰苦的工作,在开发的过程中会遇到许多问题,软件开发人员要有毅力、要有刻苦钻研和开拓创新的精神。

这次数据库课程设计使我的实际动手能力,得道了很大的提升和改变.通过这次课程设计,我明白了自己的某些不足之处.在这次设计中,我实现了以下功能如病人信息管理、药品信息及库存管理等功能。

希望下次课程设计我们会做的更好,更快,更仔细。也感谢指导老师给我们的指点和期待,让我们可以完成这次设计。

参考文献

[1]施伯乐,丁宝康.汪卫 数据库系统教程(第3版)高等教育出版社,2008

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服