1、图书馆管理数据库课程设计 作者: 日期:2 个人收集整理 勿做商业用途数据库系统原理课程设计荆楚理工学院课程设计成果 学院:_计算机工程学院_ 班 级: 08 一班 学生 姓名:吉训皇 学 号: 2008404010157 设计地点(单位)_数据库实验室1 A5-301_ _设计题目:_图书馆管理_ 完成日期: 2010年 12月 日 指导教师评语: _ _ _ _ 成绩(五级记分制):_ _ _ 教师签名:_ _1引言32需求分析32.1处理对象42。1。1处理要求及功能43数据库概念模式设计53.1图书管理数据流图53.2由数据流图抽象出ER图64数据库逻辑模式设计74.1将ER图转换成关
2、系模型74.2关系模式优化84.2.1关系规范化84.2.2关系完整性约束85数据库的实施与维护105.1建立数据库及其对象105.1。1创建模式105.1。2创建数据表105.1.3创建索引126学习心得13171 引言随着社会信息量的与日俱增,图书作为信息存储的主要媒体之一,数量、规模都比以往任何时候大的多,图书管理部门需要使用方便有效的方式来管理数量庞大的的书籍。在计算机日益普及的今天,以前单一的手工检索已不能满足人们的要求,为了便于管理图书和读者资料,图书管理部门需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果.因此往往是投入了大
3、量的人力和财力却得不到高效的管理效率.为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员及其劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。2 需求分析从课程设计选题中可以得知,我们设计的图书管理数据库需具备以下功能:(1)可随时查询书库中现有书籍的种类、数量与存放位置。(2)可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。(3)当需要时,可通过数据库中保存的出版社电话
4、、邮编及地址等信息向有关书籍的出版社增购有关书籍。2.1 处理对象读者信息:姓名,借书证号,借书人单位图书信息:书名,书号,种类,总数量,存放位置,出版社名出版社信息:出版社名,电话,邮编,地址借阅信息:借书证号,书号,借书日期,还书日期2.1.1 处理要求及功能(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: 图书信息的录入、删除及修改。 图书信息的多关键字检索查询. 图书的出借和返还。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括: 读者信息的录入、删除及修改。 读者资料的统计与查询。(3)能够对一定数量的出版社进行相应的信息存储与管
5、理,这其中包括: 出版社信息的录入、删除及修改。 出版社资料的统计与查询。(4)对查询、统计的结果能够列表显示.3 数据库概念模式设计先设计面向全局应用的全局概念结构的初步框架,然后根据中层数据流图抽象出总体ER图,最后解决各局部ER图间的冲突问题。3.1 图书管理数据流图(1)第一层数据流图:借阅信息出版社信息图书信息读者信息管理员图书管理数据库(2)第二层数据流图:借还书日期查询结果信息查询信息新出版社信息新图书信息新读者信息管理员更新读者信息更新图书信息更新出版社信息读者信息表图书信息表出版社信息表借阅信息表查询3.2 由数据流图抽象出E-R图因为课程设计选题里没有要求对管理员进行定义,
6、所以本课程设计将忽略管理员这一实体,同时为了简便起见,将从第二层数据流图直接抽象出以下总体ER图:读者图书出版社姓名借书证号借书人单位借还书借书证号书号借书日期还书日期书号种类总数量存放位置出版社名属于出版社名电话邮编地址mnn1出版社名书名4 数据库逻辑模式设计4.1 将ER图转换成关系模型读者、图书和出版社均为实体,因此它们各自转换成一个独立关系模式,实体的属性就是关系的属性,实体的码就是关系的码。由于读者与图书之间的联系方式为m:n,所以其联系需转化为独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。而图书与出版社的联系方式为n:1
7、,所以将其之间的联系与n端实体合并。所以,具体的总体ER图向关系模型的转化如下:读者(姓名,借书证号,借书人单位)图书(书名,书号,种类,总数量,存放位置,出版社名)出版社(出版社名,电话,邮编,地址)借阅信息(借书证号,书号,借书日期,还书日期)(注:标有红色下划线的为主关键字,标有绿色波浪线的为外部关键字)4.2 关系模式优化4.2.1 关系规范化由于关系模式“读者、“图书”、“出版社”和“借阅信息的所有分量都是不可分的最小数据项,且不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,都已达到3NF,所以不用规范化.4.2.2 关系完整性约束根据实体完整性、参照完整性和用户定义完整
8、性的规则,得到以下数据表设计(注:带红色下划线的为主关键字,带绿色波浪线的为外部关键字):表4。1 读者信息表列名数据类型宽度可否为空索引姓名Char8not null升序借书证号Char10not null升序借书人单位Char40表4.2 图书信息表列名数据类型宽度可否为空索引书名Char40not null升序书号Char10not null升序种类Char10总数量Tinyintnot null存放位置Char10not null出版社名Char20表4。3 出版社信息表列名数据类型宽度可否为空索引出版社名Char20not null升序电话Char20邮编Char10地址Char40
9、表4.4 借阅信息表列名数据类型宽度可否为空索引借书证号Char10not null升序书号Char10not null升序借书日期Datetimenot null升序还书日期Datetimenot null升序5 数据库的实施与维护5.1 建立数据库及其对象5.1.1 创建模式create schema bookmanager5.1.2 创建数据表(1)读者信息表的建立。命令如下:create table bookmanager。读者(姓名 char(8) not null,借书证号 char(10) primary key not null,借书人单位 char(40)(2)出版社信息表的
10、建立。命令如下:create table bookmanager.出版社(出版社名 char(20) primary key not null,电话 char(20),邮编 char(10),地址 char(40)(3)图书信息表的建立。命令如下:create table bookmanager。图书(书名 char(40) not null,书号 char(10) primary key not null,种类 char(10),总数量 tinyint not null,存放位置 char(10) not null,出版社名 char(20) foreign key references b
11、ookmanager。出版社)(4)借阅信息表的建立。命令如下:create table bookmanager.借阅信息(借书证号char(10) foreign key references bookmanager。读者not null,书号char(10) foreign key references bookmanager.图书not null,借书日期datetime not null,还书日期datetime not null,primary key(借书证号,书号)5.1.3 创建索引考虑到在连接中会频繁使用到表bookmanager.读者中的“姓名”和“借书证号”两列,同时“借
12、书证号”列已经存在唯一索引,所以在表bookmanager.读者创建一个名为“读者信息”的非聚簇索引,索引关键字为“姓名”、“借书证号”。命令如下:create nonclustered index 读者信息on bookmanager。读者(借书证号,姓名)同理,在表bookmanager。图书上创建名为“图书信息”的非聚簇索引,索引关键字为“书名”、“书号。命令如下:create nonclustered index 图书信息on bookmanager.图书(书号,书名)在表bookmanager.借阅信息上创建名为“借阅时间”的非聚簇索引,索引关键字为“借书日期”、“还书日期”.命令如
13、下:create nonclustered index 借阅时间on bookmanager.借阅信息(借书日期,还书日期)6 学习心得通过本次课程设计,我进一步了解数据库的基本概念、原理和技术,结合实际的操作和设计,巩固了课堂的教学内容,将理论与实际相结合,加强了自我实践意识、提高了实际动手能力和创新能力。由于本次课程设计的内容不多,因此我独立一人完成了所有工作,途中也遇到了不少问题,例如如何画出准确的ER图、如何将ER图转换成关系模式、对索引的概念和功能的了解以及怎样创建索引等。通过自我查找书籍和利用互联网这个自我学习的平台,我顺利解决了大部分问题。通过互联网上有用的资料,我认识到要获得有效地ER图需充分了解数据的流程,所以需画出各个层次的数据流图,从中层或底层数据流图抽象出局部的ER图,再合并各局部ER图并解决冲突,最后得到有效的总体E-R图。而索引是刚开始一直困扰我的难点,可能是我上课不专心没有听到老师的讲解.同时,我在课本找不到对索引的详细解析。因此,我通过互联网详细了解了它的概念、功能、类型以及怎样创建,使课程设计顺利进行下去。这次课程设计能够完满完成,最主要是因为老师的悉心教导。如果没有老师平时为我打下坚实的基础和热情地帮助我解决遇到的各种问题,我是无法完成这次课程设计的。所以,我在这里衷心地感谢老师,谢谢老师对我们的悉心教导!
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100