您的当前位置:首页正文

图书馆管理系统

来源:九壹网


课程作业报告

题 目: 图书馆管理系统数据库的设计

学 院: 江西理工软件学院 专 业: 软件土木 班 级: 13软件土木四班 学 号: 13242439 学 生: 钟李平

授课教师: 李春雨

时 间: 2015 年 5 月 15 日

图书馆管理系统

目录

一、需求分析...................................................................................................................... 3

1.1 需求概述 .............................................................................................................. 3 1.2 功能简介 .............................................................................................................. 3 二、数据库概念结构设计 .................................................................................................. 3

2.1 确定联系集及E-R图 ........................................................................................... 3 2.2 画出E-R图 ........................................................................................................... 4 2.3图书馆管理系统总E-R图 .................................................................................... 5 三、数据库逻辑设计 .......................................................................................................... 6

3.1 分馆信息表(fg) ..................................................................................................... 6 3.2 书籍分类信息表(fl) .............................................................................................. 6 3.3 图书信息表(books) ......................................................................................... 7 3.4 学生信息表(student) ...................................................................................... 7 3.5 借阅信息表(borrow) ....................................................................................... 7 3.6 数据字典 .............................................................................................................. 8 四、建表 ............................................................................................................................. 8

4.1 创建数据库........................................................................................................... 8 4.2 创建数据表........................................................................................................... 8 五、数据库的运行和维护 ................................................................................................ 10

5.1 定义 .................................................................................................................... 10

5.1.1 基本表的创建,建表语句 ...................................................................... 10 5.1.2 基本表的删除 ......................................................................................... 10 5.2 数据操作 ............................................................................................................ 10

5.2.1 单表查询: ............................................................................................. 10 5.2.2 连接查询 ................................................................................................. 11 5.2.3 操作结果集查询...................................................................................... 12 5.2.4 嵌套查询 ................................................................................................. 12 5.3 数据库更新操作................................................................................................. 13

5.3.1 插入数据 ................................................................................................. 13 5.3.2 修改数据 ................................................................................................. 13 5.3.3 删除数据 ................................................................................................. 13 5.4 数据库的安全性................................................................................................. 14 5.5 数据库的完整性................................................................................................. 14

5.5.1 实体完整性定义...................................................................................... 14 5.5.2 参照完整性定义...................................................................................... 14

六、总结 ........................................................................................................................... 15

2

图书馆管理系统

一、需求分析

1.1 需求概述

针对江西理工大学的图书馆管理工作量大、繁杂,人工处理非常困难。图书馆管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。图书馆管理系统的开发运用,实现了图书馆管理的自动化,能够将图书所属的分馆与分类信息清晰,准确的传递给管理员,不仅把广大图书馆管理员从繁重的图书管理工作中解脱出来、把学校从传统的图书管理模式中解放出来,而且方便广大读者查询,借阅各类图书。

1.2 功能简介

能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。

具体功能应包括:系统应该提供图书信息数据的插入、删除、更新、查询;借阅信息的添加、修改、删除、查询,学生基本信息查询的功能。

二、数据库概念结构设计 2.1 确定联系集及E-R图

根据前面对系统进行的分析,已经初步了解了图书馆管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:

①、标示实体集:分馆,书籍分类,图书,学生,四个关系。 ②、标示联系集:

书籍分类和分馆:一个分馆拥有多个书籍分类,一个书籍分类只能属于一个分馆;

存在“归属”的关系:N:1

3

图书馆管理系统

书籍分类和图书:一个书籍分类拥有多种图书,一种图书只能属于一个书籍分类;

存在“包含”的关系:1:N

学生与图书:一个学生可以借多本书,一种图书可以被多个学生借阅; 存在“借阅”的关系:N:M ③、标示属性集:

分馆(分馆编号,分馆名称,位置) 书籍分类(分类编号,分类名,所属分馆) 图书(图书编号,书名,作者,所属分类) 学生(学号,姓名,性别,所在系)

借阅(学号,图书编号,借书时间,还书时间)

2.2 画出E-R图

分馆信息图如下:

图2-2-1分馆实体集的E-R图

书籍分类信息图如下:

图2-2-2 书籍分类实体集E-R图

4

图书馆管理系统

图书信息图如下:

图2-2-3图书实体集E-R图 学生信息图如下:

图2-2-4学生实体集E-R

2.3图书馆管理系统总E-R图

根据上面对实体联系的分析,可以画出E-R图如下:

图2-2-5图书馆管理系统总E-R图

5

图书馆管理系统

三、数据库逻辑设计

逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计图书馆管理数据库,包括分馆、书籍分类、图书、学生四个关系, 其关系模式中对每个实体定义的属性如下:

分馆信息表

fg:(分馆编号,分馆名称,位置) 书籍分类信息表

fl: (分类编号,名称,所属分馆) 图书信息表

Books: (图书编号,书名,作者,所属分类) 学生表

Student:(学号,姓名,性别,所在系)

设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据库为“LibraryDB”,运行本系统时在库中所建立的表分别介绍如下:

3.1 分馆信息表(fg)

字段名 fgno fgname fglocate 描述 分馆编号 分馆名称 分馆位置 数据类型 Numberr(10) Varchar2(10) Varchar2(10) 字段限制 Primarykey Not null Not null 3.2 书籍分类信息表(fl)

6

图书馆管理系统

字段名 Flno Flname Fgno 描述 分类编号 分类名称 所属分馆 数据类型 Number(10) Varchar2(10) Numberr(10) 字段权限 Primarykey Not null Not null 3.3 图书信息表(books)

字段名 bno bname bauthor Flno 3.4

属 性 数据类型 字段权限 Primarykey Not null Not null Not null 图书编号 Numberr(10) 书名 作者 所属分类 Varchar2(20) Varchar2(15) Number(10) 学生信息表(student)

属 性 学号 姓名 性别 所在系 数据类型 Number(10) varchar2(10) varchar2(10) varchar2(10) 字段权限 Primarykey Not null Not null Not null 字段名 Sno Sname sgender Sdept 3.5 借阅信息表(borrow)

字段名 Sno Bno borrow_date Return_date 属 性 学号 图书编号 借书时间 还书时间 数据类型 Number(10) Number(10) Date Date 字段权限 Primarykey Primarykeyl Not null 7

图书馆管理系统

3.6 数据字典

参数名 分馆编号 分馆名称 分馆位置 分类编号 分类名称 图书编号 图书书名 图书作者 学号 姓名 性别 所在系 类型 数值型 字符型 字符型 数值型 字符型 数值型 字符型 字符型 数值型 字符型 字符型 字符型 长度 10 10 10 10 15 10 20 15 10 10 10 10 别名 fgno fgname fglocate flno flname bno bname bauthor sno sname sgender sdept 意义 唯一标识一个分馆 唯一标识一个书籍分类 唯一标识一类图书 唯一标识一个学生 四、建表

4.1 创建数据库

打开SQL工具“查询分析器” 在查询窗口中键入下列SQL语句 create database libraryDB

执行上述SQL语句即可新建一名为libraryDB的数据库。

4.2 创建数据表

一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。

在此图书馆管理系统中需要创建五个表,即分馆信息表、书籍分类信息表、图书信息表、学生信息表和借阅信息表。

创建数据库后,为libraryDB数据库添加数据表,步骤如下。 新建查询窗口

8

图书馆管理系统

在查询窗口中键入下列SQL语句 create table fg(

fgno number(10) primary key, //分馆编号 fgname varchar2(10), //分馆名称 fglocate varchar2(10) //分馆位置 );

执行上述SQL语句即可创建分馆信息表相关表格 create table fl(

flno number(10) primary key, //书籍分类编号 flname varchar2(15), //书籍分类名称 fgno number(10) references fg(fgno) //书籍所属分馆 );

执行上述SQL语句即可创建书籍分类信息表相关表格

create table books(

bno number(10) constraint b_pk primary key, //图书编号 bname varchar2(20), //书名 bauthor varchar2(15), //作者 flno number(10) references fl(flno) //所属分类 );

执行上述SQL语句即可创建图书信息表相关表格 create table student(

sno number(10) constraint s_pk primary key, //学号 sname varchar2(10), //姓名 sgender varchar2(10) check(sgender in('男','女')), //性别 sdept varchar2(10) //所在系 );

create table borrow(

sno number(10) references student(sno), //学号 bno number(10), //图书编号 borrow_date date, //借书时间 ruturn_date date, //还书时间

9

图书馆管理系统

foreign key(bno) references books(bno), constraint borrow_pk primary key(sno,bno) );

执行上述SQL语句即可创建借阅信息表相关表格

五、数据库的运行和维护

5.1 定义

基本表的创建、修改及删除;索引的创建和删除。

5.1.1 基本表的创建,建表语句

create table fg( //创建分馆表 fgno number(10) primary key, fgname varchar2(10),

fglocate varchar2(10) );

5.1.2 基本表的删除

drop table fg;

5.2 数据操作 5.2.1 单表查询:

查询书名为“乱世佳人”的作者 select bauthor from books

where bname='乱世佳人'; 结果:

10

图书馆管理系统

5.2.2 连接查询

查询学生的学号、姓名,所借图书的编号和书名以及借书时间

select a.sno,a.sname,b.bno,b.bname,c.borrow_date from student a,books b,borrow c where a.sno=c.sno and b.bno=c.bno;

结果:

11

图书馆管理系统

5.2.3 操作结果集查询

查询13242401号同学和13242405号同学共同借阅过的图书 select bno from borrow where sno=13242401 intersect

select bno from borrow where sno=13242405; 查询结果:

5.2.4 嵌套查询

查询借阅过“3”这本书的所有学生的学号、姓名。 select sno,sname from student where sno in(

select sno from borrow where bno=3);

查询结果:

12

图书馆管理系统

5.3 数据库更新操作 5.3.1 插入数据

向Student表中添加一项记录:

学号:13242407, 姓名:kobi ,性别:男, 所在系:cs insert into student values(13242407,'kobi','男','cs'); 结果:

5.3.2 修改数据

修改rose的学号为13242408 update student set sno=13242408 where sname='rose'; 结果:

5.3.3 删除数据

删除所有’ps’系学生的记录

Delete from student Where(sdept='ps');

结果:

13

图书馆管理系统

5.4 数据库的安全性

所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。

5.5 数据库的完整性

5.5.1 实体完整性定义:在学生表student中将sno定义为主码。

create table student( sno number(10) ,

sname varchar2(10), sgender varchar2(10) check(sgender in('男','女')), sdept varchar2(10) ,

constraint s_pk primary key(sno) );

5.5.2 参照完整性定义:在借阅信息表borrow中将sno、bno定义为外码。

create table borrow( sno number(10) ,

bno number(10), borrow_date date, ruturn_date date,

Constraint borrow_pk1 foreign key(bno) references books(bno), Constraint borrow_pk2 Foreign key(sno) references student(sno), constraint borrow_pk3 primary key(sno,bno) );

14

图书馆管理系统

六、总结

本图书馆管理系统主要参照课本,相对来说比较简单。但是由于主要以

课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。

(1)在设计数据库时,首先应该抽象出各个实体,然后分析出实体的属性,分别画出各实体的ER图,再在找出各实体间的联系,最后总结出总的ER图。(2)实体之间有1:1,1:N,M:N的关系,外键都是维护在多的一方,有多对多关系时,通过桥表联系两张表。(3)在设计表时应注意使用正确的字段类型。(4)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。

随着图书馆管理类型的不断增加和图书管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。在这样的情况下有一个实用图书管理系统是有其必然性的,如果能做出一个完善的图书馆管理系统就使管理方面的工作量减少很多。

总的来说,通过这次的数据库课程设计锻炼了我们的操作能力和让我们从实际上去分析一件事比较全面和对数据库设计有了更深的了解。

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Top