图书馆数据库课程设计.docx

上传人:b****8 文档编号:9424764 上传时间:2023-05-19 格式:DOCX 页数:19 大小:941.27KB
下载 相关 举报
图书馆数据库课程设计.docx_第1页
第1页 / 共19页
图书馆数据库课程设计.docx_第2页
第2页 / 共19页
图书馆数据库课程设计.docx_第3页
第3页 / 共19页
图书馆数据库课程设计.docx_第4页
第4页 / 共19页
图书馆数据库课程设计.docx_第5页
第5页 / 共19页
图书馆数据库课程设计.docx_第6页
第6页 / 共19页
图书馆数据库课程设计.docx_第7页
第7页 / 共19页
图书馆数据库课程设计.docx_第8页
第8页 / 共19页
图书馆数据库课程设计.docx_第9页
第9页 / 共19页
图书馆数据库课程设计.docx_第10页
第10页 / 共19页
图书馆数据库课程设计.docx_第11页
第11页 / 共19页
图书馆数据库课程设计.docx_第12页
第12页 / 共19页
图书馆数据库课程设计.docx_第13页
第13页 / 共19页
图书馆数据库课程设计.docx_第14页
第14页 / 共19页
图书馆数据库课程设计.docx_第15页
第15页 / 共19页
图书馆数据库课程设计.docx_第16页
第16页 / 共19页
图书馆数据库课程设计.docx_第17页
第17页 / 共19页
图书馆数据库课程设计.docx_第18页
第18页 / 共19页
图书馆数据库课程设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图书馆数据库课程设计.docx

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

图书馆数据库课程设计.docx

图书馆数据库课程设计

数据库

课程设计

 

设计题目:

图书馆管理系统

组长姓名:

刘之远

组长学号:

122101208

专业班级:

14级计算机应用技术2班

指导老师:

黄影

 

 

数据库课程设计任务及成绩

院(系):

信息工程学院教研室:

13#607

课程设计题目

课程设计任务分配

1:

数据库的创建以及表的创建及操作和触发器

2:

数据的录入以及视图的创建查询

3:

画E—R图及功能模块图和存储过程

4:

简单查询和嵌套查询

5:

模糊查询及连接查询

6:

WORD整理及E-R图及功能模块图

 

小组成员

姓名

学号

组长否

1

1432101208

2

142101213

3

1432101223

4

1432101217

5

1432101224

6

1432101238

 

指导老师:

刘书影

2014年12月18日

摘要

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

对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校能否进行有效管理的一个关键。

学校作为一个学习的地方,一定会有一个图书馆。

有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。

学校图书管理系统适应于绝大多数的学校图书馆的管理。

应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。

 

 

第一章需求分析

1.1读者登记处

学生或教师需要通过办理图书证之后才能进行图书借阅。

图书证包括借书证号,姓名,读者类型,借书人单位等信息。

在读者登记处,需要把读者的有关信息添加到信息系统中保存,当读者信息发生改变时,需要对计算机里的内容进行相应的修改。

当读者办理退证手续时,需要删除相应的读者信息。

另外,生成超过期限未还书的读者信息表,通知读者应尽快还书等。

1.2图书总管部门

1.2.1图书管理部门负责书籍和出版社等的信息管理,具体如下:

(1)图书信息管理。

完成图书的录入、修改、删除和查询功能。

在查询图书信息时,可随时查询书库中现有书籍的类型、书号、书名、作者、数量等信息。

所有书籍都可由书号唯一标识。

(2)为了方便业务往来,需保存出版社相关信息。

这些信息包括出版社编号、名称、电话、邮编、地址、联系人等。

1.3图书借还处

2.3.1图书借还处负责图书的借阅和归还工作。

具体如下:

(1)读者借书管理。

读者可以根据图书类别和书名查找自己要借阅的图书,在图书借阅登记中,借阅日期是自动填写的(当前系统日期)。

(2)还书管理。

在办理还书业务时,系统判断是否过期,若过期,则首先查看是否已经交了罚款。

若未交,则生成一张罚款通知单。

(3)完成图书在库数量的查询。

此外,对于书籍、读者和出版社等信息,系统管理员可以做添加、修改、删除和查询操作。

普通读者只能查询。

3业务流程分析

 

第二章概念结构设计

通常,把每一类数据对象的个体称为实体,而每一类对象的集合称为“实体集”。

而E—R模型的主要成分是实体、联系和属性。

如果用矩形框表示实体集,用带半圆的矩形表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在属性后加#键加以区别,则可以表示实体集及每个实体集涉及的属性,实体集之间存在各种关系,通常把这种关系称为“联系”。

联系有三类:

一对一的联系(1:

1);一对多的联系(1:

n);多对多的联系(m:

n)。

所以,此图书管理系统中实体集与实体集的联系,E—R模型如下:

2.1图书管理系统实体集的子E-R图

本系统所涉及书籍实体有如下属性:

书号,种类,数量,存放位置,书名,出版年,出版社编号,作者。

其所对应的E-R图如下

读者实体犹如下属性:

借书证号,姓名,性别,借书人单位,读者类型|。

其所对应的E-R图如下

读者身份实体的属性如下:

读者类型,可借阅的天数,可借阅的数量。

其所对应的E-R图如下:

2.2宿舍信息管理系统总E—R图

第三章逻辑结构及物理结构设计

3.1将E—R图转化为关系模式

转换原则:

1:

1不单独对应一个关系模式,将一端实体的主码及联系的属性,加入另一端实体所对应的关系模式,且不影响其主码。

1:

n不单独对应一个关系模式,将一端实体的主码及联系的属性,加入到N端实体的所对应的关系模式,且不影响其主码。

m:

n必须单独对应一个关系,由两端实体的主码及联系的属性为其属性,两端实体主码的组合为其主码。

实体1:

书籍【种类、数量、存放位置、书号、书名、出版年、作者、出版社编号、价格】

实体2:

读者【借书证号、姓名、性别、借书人单位、读者类型】

实体3:

出版社【出版社编号、出版社名、电话、邮编、地址】

实体4:

借还情况【借书证号、书号、借书日期、还书日期】

实体5:

读者身份【读者类型、可借阅天数、可借阅数量】

3.2物理结构设计

由以上的分析,得出上述5个表格结构如下:

读者表:

创建此表所需要的字段名是:

姓名、借书证号、性别、借书人单位读者类型,其中借书证号设为主键。

字段名

字段类型

字段宽度

约束

借书证号

char

20

PK

姓名

char

10

性别

char

2

借书人单位

char

30

读者类型

char

4

FK

出版社表:

用于记录书籍出版社信息,所需要的字段名是:

出版社编号、出版社名、电话、邮编、地址,其中出版社编号是主键。

字段名

字段类型

字段宽度

约束

出版社编号

tinyint

PK

出版社名

char

30

电话

char

50

邮编

char

30

地址

char

50

书籍表:

用于记录书籍信息,所需要的字段名是:

书号、书名、数量、类型、出版年、作者、出版社编号、存放位置。

主键是书号。

字段名

字段类型

字段宽度

约束

书号

char

10

PK

书名

char

50

数量

tinyint

类型

char

30

出版年

tinyint

作者

char

10

出版社编号

tinyint

FK

存放位置

char

30

读者身份表:

用于记录读者类型信息,是学生还是老师。

所需要的字段名是:

读者类型、可借阅天数、可借阅数量。

主键是读者类型。

字段名

字段类型

字段宽度

约束

读者类型

char

4

PK

可借阅天数

tinyint

非空

可借阅数量

tinyint

非空

借还情况表:

用于记录读者借还图书的情况。

所需要的字段名是:

借书证号、书号、借书日期、还书日期。

主键是借书证号、书号。

字段名

字段类型

字段宽度

约束

借书证号

char

20

PK

书号

char

10

PK

借书日期

datetime

8

还书日期

datetime

8

 

第四章数据库的实现

4.1数据库的创建

1建立数据库

createdatabase图书馆

on

(name=library,

filename='d:

\database\图书馆_data.mdf',

size=10,maxsize=50,

filegrowth=5)

logon

(name=library_log,

filename='d:

\database\图书馆_data.ldf',

size=5,maxsize=25,

filegrowth=5)

2建表

(1)读者身份

createtable读者身份

(读者类型char(4)

check(读者类型in('教师','学生'))primarykey,

可借阅天数tinyintnotnull,

可借阅数量tinyintnotnull

(2)读者

createtable读者

(借书证号char(20)primarykey,

姓名char(10)notnull,

性别char

(2)check(性别='男'or性别='女'),

借书人单位char(30),

读者类型char(4)

foreignkeyreferences读者身份(读者类型)

(3)出版社

createtable出版社

(出版社编号char(30)primarykey,

出版社名char(30)notnull,

电话char(50),

邮编char(30),

地址char(50)

(4)书籍

createtable书籍

(书号char(10)primarykey,

书名char(50)notnull,

数量tinyintnotnull,

类型char(30),

出版年char(10),

作者char(10),

出版社编号char(30)

foreignkeyreferences出版社(出版社编号),

存放位置char(30)

(5)借还情况

createtable借还情况

(借书证号char(20)

foreignkeyreferences读者(借书证号),

书号char(10)

foreignkeyreferences书籍(书号),

借书日期datetimedefaultgetdate(),

还书日期datetime,

primarykey(借书证号,书号)

 

第五章表的T-SQL语句

5.1.1简单查询

1)查询读者表中读者证号和姓名。

代码如下:

select借书证号,姓名from读者

运行结果:

 

(2)查询出版社表中出版社名、出版社编号和电话等信息。

代码如下:

select出版社名,出版社编号,电话from出版社

运行结果:

 

5.1.2模糊查询

(1)查询书籍表中书名含'背影'的书号,出版年,书名和作者等信息。

代码如下:

select出版年,作者,书名,书号from书籍where书名like'%背影%'

运行结果:

 

(2)查询来出版社表中出版社名中有‘海洋’字的信息。

代码如下:

select出版社编号,电话,邮编,出版社名,地址from出版社表

where出版社名like'%海洋%'

运行结果:

 

5.1.3连接查询

(1)查询书籍的书号,书名,数量,类型,出版年,作者,借书日期,还书日期如下:

select书籍.书号,书名,数量,类型,出版年,作者,借书日期,还书日期from书籍,借还情况

where书籍.书号=借还情况.书号

运行结果:

 

5.2.1存储过程

在SQLServer中,存储过程是数据库对象之一,它有执行速度快、确保数据库的安全和自动完成需要预先执行的任务等优点,本设计创建一个存储过程,功能是通过借书证号查看该读者的借书信息:

姓名,借书人单位,书名,作者,借书日期,还书日期。

存储过程的创建和调用如下:

createprocprcsed

@nochar(10)

as

select姓名,借书人单位,书名,作者,借书日期,还书日期from读者,借还情况,书籍

where读者.借书证号=借还情况.借书证号and借还情况.书号=书籍.书号

例如:

execprcsed'32080090011'

 

5.2.2视图

视图是由一个或多个基本表(或视图)导出的数据信息,可根据用户的不同建立不同的视图。

5.2.3视图的创建

createviewvw1

5.2.4视图的T-SQL语句

select借书证号,借还情况.书号,出版社.出版社编号from出版社,书籍,借还情况where出版社.出版社编号=书籍.出版社编号

and书籍.书号=借还情况.书号

运行结果如下:

5.2.5触发器

触发器是一类特殊的存储过程。

触发器与表的关系密切,可用于维护表中的数据。

当有数据影响到触发器维护的数据时,触发器自动执行。

创建该触发器可以

createtriggertrgin

on借还情况forupdate,insert

as

begin

declare@nochar(6),@ntinyint

select@no=借书证号frominserted

select@n=count(*)from借还情况where借书证号=@no

if@n>10

begin

rollback

print'已超出上限!

'

end

end

第六章总结

这次课程设计下来,学到了不少东西,以前对SQL,只能按书上按部就班的写,写SQL语句是会了,但数据逻辑和方法方面,一点都不够到位,没有对以前的知识进行系统的了解,没有把各个部分知识整合在一起,通过这次学生宿舍管理系统课程设计,使我对数据库设计的各个方面都加深了理解,了解到数据库是一环扣一环的,中途不能有办点马虎,也体会到把知识应用于实践是不容易的,同时也学到课本中所没有的东西,一些问题也只有真正做设计的时候才会出现。

由于时间比较紧,因此我们所做的课程设计肯定还存在许多的不足之处,程序中也存在许多小错误。

这将激励我们在以后的学习当中职累更多的经验,努力减少错误的发生。

 

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2