图书馆管理数据库课程设计.docx
- 文档编号:11396895
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:10
- 大小:85.72KB
图书馆管理数据库课程设计.docx
《图书馆管理数据库课程设计.docx》由会员分享,可在线阅读,更多相关《图书馆管理数据库课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
图书馆管理数据库课程设计
课程设计成果
学院:
____计算机工程学院_____________班级:
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图。
而索引是刚开始一直困扰我的难点,可能是我上课不专心没有听到老师的讲解。
同时,我在课本找不到对索引的详细解读。
因此,我通过互联网详细了解了它的概念、功能、类型以及怎样创建,使课程设计顺利进行下去。
这次课程设计能够完满完成,最主要是因为老师的悉心教导。
如果没有老师平时为我打下坚实的基础和热情地帮助我解决遇到的各种问题,我是无法完成这次课程设计的。
所以,我在这里衷心地感谢老师,谢谢老师对我们的悉心教导!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 数据库 课程设计