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

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

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

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

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

图书馆管理数据库课程设计

课程设计成果

学院:

____计算机工程学院_____________班级:

08一班

学生姓名:

吉训皇学号:

2008404010157

设计地点(单位)__数据库实验室1A5-301________________________

设计题目:

_图书馆管理______________________________________

完成日期:

2010年12月日

指导教师评语:

____________________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):

________________

教师签名:

_________________________

1引言

随着社会信息量的与日俱增,图书作为信息存储的主要媒体之一,数量、规模都比以往任何时候大的多,图书管理部门需要使用方便有效的方式来管理数量庞大的的书籍。

在计算机日益普及的今天,以前单一的手工检索已不能满足人们的要求,为了便于管理图书和读者资料,图书管理部门需要有效的图书管理软件。

对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。

因此往往是投入了大量的人力和财力却得不到高效的管理效率。

为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员及其劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。

2需求分析

从课程设计选题中可以得知,我们设计的图书管理数据库需具备以下功能:

(1)可随时查询书库中现有书籍的种类、数量与存放位置。

(2)可随时查询书籍借还情况。

包括借书人单位、姓名、借书证号、借书日期和还书日期。

(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。

2.1处理对象

读者信息:

姓名,借书证号,借书人单位

图书信息:

书名,书号,种类,总数量,存放位置,出版社名

出版社信息:

出版社名,电话,邮编,地址

借阅信息:

借书证号,书号,借书日期,还书日期

2.1.1处理要求及功能

(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:

Ø图书信息的录入、删除及修改。

Ø图书信息的多关键字检索查询。

Ø图书的出借和返还。

(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:

Ø读者信息的录入、删除及修改。

Ø读者资料的统计与查询。

(3)能够对一定数量的出版社进行相应的信息存储与管理,这其中包括:

Ø出版社信息的录入、删除及修改。

Ø出版社资料的统计与查询。

(4)对查询、统计的结果能够列表显示。

3数据库概念模式设计

先设计面向全局应用的全局概念结构的初步框架,然后根据中层数据流图抽象出总体E-R图,最后解决各局部E-R图间的冲突问题。

3.1图书管理数据流图

(1)第一层数据流图:

 

(2)第二层数据流图:

3.2由数据流图抽象出E-R图

因为课程设计选题里没有要求对管理员进行定义,所以本课程设计将忽略管理员这一实体,同时为了简便起见,将从第二层数据流图直接抽象出以下总体E-R图:

4数据库逻辑模式设计

4.1将E-R图转换成关系模型

读者、图书和出版社均为实体,因此它们各自转换成一个独立关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

由于读者与图书之间的联系方式为m:

n,所以其联系需转化为独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

而图书与出版社的联系方式为n:

1,所以将其之间的联系与n端实体合并。

所以,具体的总体E-R图向关系模型的转化如下:

读者(姓名,借书证号,借书人单位)

图书(书名,书号,种类,总数量,存放位置,出版社名)

出版社(出版社名,电话,邮编,地址)

借阅信息(借书证号,书号,借书日期,还书日期)

(注:

标有红色下划线的为主关键字,标有绿色波浪线的为外部关键字)

4.2关系模式优化

4.2.1关系规范化

由于关系模式“读者”、“图书”、“出版社”和“借阅信息”的所有分量都是不可分的最小数据项,且不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,都已达到3NF,所以不用规范化。

4.2.2关系完整性约束

根据实体完整性、参照完整性和用户定义完整性的规则,得到以下数据表设计(注:

带红色下划线的为主关键字,带绿色波浪线的为外部关键字):

表4.1读者信息表

列名

数据类型

宽度

可否为空

索引

姓名

Char

8

notnull

升序

借书证号

Char

10

notnull

升序

借书人单位

Char

40

表4.2图书信息表

列名

数据类型

宽度

可否为空

索引

书名

Char

40

notnull

升序

书号

Char

10

notnull

升序

种类

Char

10

总数量

Tinyint

notnull

存放位置

Char

10

notnull

出版社名

Char

20

表4.3出版社信息表

列名

数据类型

宽度

可否为空

索引

出版社名

Char

20

notnull

升序

电话

Char

20

邮编

Char

10

地址

Char

40

 

表4.4借阅信息表

列名

数据类型

宽度

可否为空

索引

借书证号

Char

10

notnull

升序

书号

Char

10

notnull

升序

借书日期

Datetime

notnull

升序

还书日期

Datetime

notnull

升序

5数据库的实施与维护

5.1建立数据库及其对象

5.1.1创建模式

createschemabookmanager

5.1.2创建数据表

(1)读者信息表的建立。

命令如下:

createtablebookmanager.读者

(姓名char(8)notnull,

借书证号char(10)primarykeynotnull,

借书人单位char(40))

(2)出版社信息表的建立。

命令如下:

createtablebookmanager.出版社

(出版社名char(20)primarykeynotnull,

电话char(20),

邮编char(10),

地址char(40))

(3)图书信息表的建立。

命令如下:

createtablebookmanager.图书

(书名char(40)notnull,

书号char(10)primarykeynotnull,

种类char(10),

总数量tinyintnotnull,

存放位置char(10)notnull,

出版社名char(20)foreignkeyreferencesbookmanager.出版社)

(4)借阅信息表的建立。

命令如下:

createtablebookmanager.借阅信息

(借书证号char(10)foreignkeyreferencesbookmanager.读者notnull,

书号char(10)foreignkeyreferencesbookmanager.图书notnull,

借书日期datetimenotnull,

还书日期datetimenotnull,

primarykey(借书证号,书号))

5.1.3创建索引

考虑到在连接中会频繁使用到表bookmanager.读者中的“姓名”和“借书证号”两列,同时“借书证号”列已经存在唯一索引,所以在表bookmanager.读者创建一个名为“读者信息”的非聚簇索引,索引关键字为“姓名”、“借书证号”。

命令如下:

createnonclusteredindex读者信息onbookmanager.读者(借书证号,姓名)

同理,在表bookmanager.图书上创建名为“图书信息”的非聚簇索引,索引关键字为“书名”、“书号”。

命令如下:

createnonclusteredindex图书信息onbookmanager.图书(书号,书名)

在表bookmanager.借阅信息上创建名为“借阅时间”的非聚簇索引,索引关键字为“借书日期”、“还书日期”。

命令如下:

createnonclusteredindex借阅时间onbookmanager.借阅信息(借书日期,还书日期)

6学习心得

通过本次课程设计,我进一步了解数据库的基本概念、原理和技术,结合实际的操作和设计,巩固了课堂的教案内容,将理论与实际相结合,加强了自我实践意识、提高了实际动手能力和创新能力。

由于本次课程设计的内容不多,因此我独立一人完成了所有工作,途中也遇到了不少问题,例如如何画出准确的E-R图、如何将E-R图转换成关系模式、对索引的概念和功能的了解以及怎样创建索引等。

通过自我查找书籍和利用互联网这个自我学习的平台,我顺利解决了大部分问题。

通过互联网上有用的资料,我认识到要获得有效地E-R图需充分了解数据的流程,所以需画出各个层次的数据流图,从中层或底层数据流图抽象出局部的E-R图,再合并各局部E-R图并解决冲突,最后得到有效的总体E-R图。

而索引是刚开始一直困扰我的难点,可能是我上课不专心没有听到老师的讲解。

同时,我在课本找不到对索引的详细解读。

因此,我通过互联网详细了解了它的概念、功能、类型以及怎样创建,使课程设计顺利进行下去。

这次课程设计能够完满完成,最主要是因为老师的悉心教导。

如果没有老师平时为我打下坚实的基础和热情地帮助我解决遇到的各种问题,我是无法完成这次课程设计的。

所以,我在这里衷心地感谢老师,谢谢老师对我们的悉心教导!

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

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

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

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