《数据库原理及技术应用》专周
——图书管理信息系统
实
验
报
告
书
课 程 名 称
数据库原理及技术应用
设 计 题 目
图书管理信息系统
班
学
姓
级
号
名
指 导 老 师
完 成 时 间
目
录
1 专周题目 ................................................................................................................ 1
2 专周目的和要求......................................................................................................1
2.1 目的................................................................................................................ 1
2.2 要求................................................................................................................ 1
3 运行环境 ................................................................................................................ 1
3.1 硬件环境.........................................................................................................1
3.2 软件环境.........................................................................................................1
4 专周时间 ................................................................................................................ 2
5 专周内容 ................................................................................................................ 2
5.1 完成的主要功能概述....................................................................................... 2
5.2 概念模型等设计.............................................................................................. 4
5.2.1 E-R 模式图........................................................................................... 4
5.2.2 所建的表...............................................................................................4
5.3 程序的实现..................................................................................................... 9
5.3.1 登陆模块...............................................................................................9
5.3.2 管理员主界面模块...............................................................................10
5.3.3 读者主界面模块 .................................................................................. 11
5.3.4 添加图书.............................................................................................12
5.3.5 修改出版信息......................................................................................13
5.3.6 修改副本信息......................................................................................15
5.3.7 修改人大码......................................................................................... 16
5.3.8 图书信息查询......................................................................................18
5.3.9 图书副本信息查询...............................................................................20
5.3.10 用户信息管理模块.............................................................................21
5 专周心得 .............................................................................................................. 26
Oracle 专周实验报告
1 专周题目
图书管理信息系统
2 专周目的和要求
2.1 目的
图书管理信息系统
通过本次专周将这一学年所学关于 Oracle 的知识系统化,在平时实验课的基
础上进一步掌握 Oracle 相关组建的应用。运用 Forms Developer 工具建立一个简
单的数据库应用系统——图书管理信息系统,掌 Oracle RDBMS 的功能,掌握 Orcle
的 Forms、Graphics、SQL
Report 等开发工具的用法,熟悉 Oracle 系统下应用系
统开发的过程。
2.2 要求
1.熟练掌握数据库的备份、恢复;
2.要求用到显示游标、隐式游标、菜单、警告等来完成图书管理信息系统的编写。
3 运行环境
3.1 硬件环境
CPU: P3 同类档次或更高档次以上
内存: 512MB 及其以上内存
硬盘空间: 40G以上均可
显示器: VGA 或更高分辨率,建议分辨率为 1024x768 像素
3.2 软件环境
服务器端操作系统: Windows2000 server 或 Linux
客户端操作系统不限
数据库 : Oracle 大型数据库管理系统
4 专周时间
…
5 专周内容
5.1 完成的主要功能概述
登录界面:此界面包括三个标签(用户名,密码以及界面标题)、两个文本框(用
于用户名和密码的输入)、两个按钮(登录、退出 )。用户输入用户名和密码,然
后点击“登录”按钮,通过到数据库表 Users 中查找有无相应记录,如果该条记录
存在则登录到相应主界面(读者主界面或管理员主界面),如果该条记录不存在则
弹出一条提示(用户名或者密码错误,请重新输入!)。“退出”按钮引用了一个警
告,提醒用户是否确定要退出系统。
管理员主界面:此界面包括七个按钮(用户管理、添加图书、修改出版信息、
修改副本信息、修改人大码、退出和返回登录界面)、四个标签。此界面的主要功
能是实现管理员的操作权。
用户管理界面:此界面的主要功能是添加,修改,删除读者和管理员的基本信
息
添加图书界面:此界面的主要功能是录入新书信息(包括ISBN、书名、人
第 1 页
Oracle 专周实验报告
图书管理信息系统
大码、人大码目录名、作者名、作者号、出版者、出版者地址、副本编号),根据
ISBN判断是否已经存在相应记录,如果存在则提示“该记录已经存在,请重新
输入!”,如果暂时没有该记录,则判断各表中是否存在相关记录,若不存在则插入
一条相关新纪录。
修改出版信息界面:此界面的主要功能是修改出版数据。采用绑定数据库表
publishrers,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除的
操作。
修改副本信息界面:此界面的主要功能是修改副本信息数据。采用绑定数据库
表 publishrers,调用出表中信息,管理员可以对该表数据进行修改、添加或者删
除的操作。
修改人大码界面:此界面的主要功能是修改人大码分类目录。采用绑定数据库
表 Categories,调用出表中信息,管理员可以对该表数据进行修改、添加或者删
除的操作。修改副本信息界面:此界面的主要功能是修改副本信息。采用绑定数据
库表 copies,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除
的操作。
读者主界面:此界面包括六个按钮(图书信息查询、图书副本信息查询、借书
管理、还书管理、退出和返回登录界面)、四个标签。此界面的主要功能是实现读
者的操作权。
图书信息查询界面:该界面的主要功能是查询图书相关信息。用户通过下拉菜
单选择查询方式,根据所选查询方式进行相关信息的查
询。
图书副本信息查询界面:该界面的主要功能是查询副本信息。用户通过下拉菜
单选择查询方式,根据所选查询方式进行相关信息的查询。
附:功能模块图
第 2 页
Oracle 专周实验报告
5.2 概念模型等设计
5.2.1 E-R 模式图
图书管理信息系统
5.2.2 所建的表
数据库设计有 8 张表,分别是:Users 表(用户表)Books 表(书籍表)、Copies 表
(副本表)、Authors 表(作者表)、Categories 表(分类目录表)、Writers 表(写书表)、
Publishers 表(出版社表)、Borrow 表(借阅表)。
1、Books 表
字段 数据类型 数据长度 能否为空
中文名
备注
ISBN
Title
Pubname
Char
Char
Char
RDCode
Number
20
50
30
否
是
是
是
2、Copies 表
国际标准图书编码 主码
书名
出版者名
人大码
字段 数据类型 数据长度 能否为空
中文名
CopyNo
Number
ISBN
Char
20
否
是
副本编号
国际标准图书编码
备注
主码
3、Authors 表
字段
数据类型 数据长度 能否为空 中文名 备注
AuthorNo
Number
AuthorName
Char
20
否
是
作者号 主码
作者名
第 3 页
Oracle 专周实验报告
图书管理信息系统
4、Categories 表
字段 数据类型 数据长度 能否为空 中文名 备注
RDCode
Number
CateName
Char
20
否
是
人大码 主码
目录名
5、Writers 表
字段 数据类型 数据长度 能否为空
中文名
备注
ISBN
Char
20
AutrerNo
Number
否
否
国际标准图书编码 主码
作者号
主码
6、Publishers
字段 数据类型 数据长度 能否为空 中文名 备注
PubName
Address
Char
Char
30
50
否
是
出版者名 主码
地址
7、Users 表
字段 数据类型 数据长度 能否为空 中文名 备注
UsersNo
Number
UserName
UserPwd
Quanxian
Char
Char
Char
Email
Number
Tel
Address
Char
Char
12
20
20
20
30
20
20
否
否
否
否
是
是
是
用户编号 主码
用户名
用户密码
权限
电子邮箱
电话
籍贯
建立用户:
grant connect,resource to librarian identified by 123456;
grant connect to reader identified by reader;
Books 表:
create table Books
(copyno number(10) not null,
isbn char(20) not null,
title char(30),
pubname char(30),
author char(30),
authorno char(30),
rdcode char(30),
第 4 页
Oracle 专周实验报告
state number(4));
图书管理信息系统
insert
into
Books(copyno,ISBN,Title,PubName,RDCode,State,author,authorno)
values(1001,'A0001','山的那边','yy 出版社',1,0,'大卫','1');
insert
into
Books(copyno,ISBN,Title,PubName,RDCode,State,author,authorno)
values(1002,'A0002','再现山河','xx 出版社',2,0,'无敌','2');
Authors 表:
create table Authors
(authorno number(10) not null,
authorname char(20));
Categories 表:
create table Categories
(rdcode char(20)not null,
catename char(20));
Writers 表:
create table Writers
(isbn char(20)not null,
authorno char(20)not null);
Publishers 表:
create table Publishers
(pubname char(30)not null,
address char(50));
insert into publishers(pubname,address) values('yy 出版社','浙江');
insert into publishers(pubname,address) values('xx 出版社','北京');
Copies 表:
create table copies(copyno number(10) not null,
isbn char(20));
insert into copies(copyno,isbn) values(1001,'A0001');
insert into copies(copyno,isbn) values(1002,'A0002');
Users 表:
create table Users
(UserName char(20) not null,
UserPwd char(20) not null,
第 5 页
Oracle 专周实验报告
UserNo number(2),
Quanxian number(20),
Email char(30),
TEL char(20),
Address char(20));
图书管理信息系统
insert
into
Users(UserName,UserPwd,UserNo,QuanXian,Email,TEL,Address)
values('杨波','123',1,1,'350357474@qq.com','13550399250','chengdu');
insert
into
Users(UserName,UserPwd,UserNo,QuanXian,Email,TEL,Address)
values('yangbo','456',2,2,'350357474@qq.com','1355041230','chengdu');
授予 Reader:
grant select on books to reader;
grant select on publishers to reader;
grant select on authors to reader;
grant select on copies to reader;
grant select on writers to reader;
grant select on categories to reader;
5.3 程序的实现
5.3.1 登陆模块
…
登陆:
declare
cursor login (tuser Users.UserName%type,tpwd Users.UserPwd%type)
is
select * from Users
where UserName=tuser and UserPwd=tpwd;
loginrow login%rowtype;
begin
open login(:login.tuser,:login.tpwd);
fetch login into loginrow;
if login%found then
go_block('main');
message('登录成功');commit;
第 6 页