资源描述
______________________________________________________________________________________________________________
华北科技学院计算机学院综合性实验
实 验 报 告
课程名称 网络数据库
实验学期 2017 至 2018 学年 第 一 学期
实验题目: 图书借阅系统数据库设计
实验地点: 信息楼大软 实验时间: 2017-11-22
班级 学号
学生姓名
成绩评定:
1、工作量: A( ),B( ),C( ),D( ),F( )
2、难易度: A( ),B( ),C( ),D( ),F( )
3、答辩情况:
基本操作: A( ),B( ),C( ),D( ),F( )
代码理解: A( ),B( ),C( ),D( ),F( )
4、报告规范度: A( ),B( ),C( ),D( ),F( )
5、学习态度: A( ),B( ),C( ),D( ),F( )
总评成绩:
指导教师: 孙改平
计算机学院制
一、实验目的
通过该实验把数据库的理论知识(数据库和数据表的设计理论、视图、索引、存储过程、触发器、数据库备份、数据库安全等)应用到具体的综合实例中,达到数据库知识整合的目的。完成学生成绩管图书借阅理系统基本功能设计,提高学生的分析问题、解决问题的能力。
二、设备与环境
硬件:多媒体计算机
软件:WindowsXP以上的操作系统、Oracle 10g 数据库管理系统
三、实验内容及实验结果
1.数据库设计
设计思想
(1)用户身份
用户、管理员。
(2)图书管理模块
对图书进行添加、查询、修改、删除、添加。
(3)副本信息模块
对图书的副本信息进行添加、修改、删除。
(4) 用户管理模块
对用户进行添加、删除、修改。
2.数据表设计
设计思想
Books表
字段
数据类型
数据长度
能否为空
中文名
备注
ISBN
Char
20
否
图书编码
主码
Title
Char
30
是
书名
Pubname
Char
30
是
出版者名
Author
Char
30
是
作者名
Authorno
Number
30
是
作者号
ZNCode
Number
30
是
中南分校码
Copies表
字段
数据类型
数据长度
能否为空
中文名
备注
CopyNo
Number
10
否
副本编号
主码
ISBN
Char
20
是
图书编码
Authors表
字段
数据类型
数据长度
能否为空
中文名
备注
AuthorNo
Number
10
否
作者号
主码
AuthorName
Char
20
是
作者名
Categories表
字段
数据类型
数据长度
能否为空
中文名
备注
ZNCode
Number
20
否
中南分校码
主码
CateName
Char
20
是
目录名
Writers表
字段
数据类型
数据长度
能否为空
中文名
备注
ISBN
Char
20
否
书编码
主码
AuthorNo
Number
20
否
作者号
主码
Publishers表
字段
数据类型
数据长度
能否为空
中文名
备注
PubName
Char
30
否
出版者名
主码
Address
Char
50
是
地址
Users表
字段
数据类型
数据长度
能否为空
中文名
备注
UsersNo
Number
12
否
用户编号
主码
UserName
Char
20
否
用户名
UserPwd
Char
20
否
用户密码
Quanxian
Number
20
否
权限
Birthday
Date
否
用户生日
Email
Char
30
是
用户的邮箱
Tel
Char
20
是
用户的联系电话
Address
Char
20
是
籍贯
表空间的创建
具体实现
create tablespace data
logging
datafile 'D:\Oracle\product\10.2.0\oradata\library\data01.dbf'
size 50m
reuse autoextend off;
数据表
. 数据表的创建
(1)创建Books表
create table Books
(isbn char(20) not null primary key,
title char(30),
pubname char(30),
author char(30),
authorno number(30),
zncode number(30));
(2)创建Copies表
create table copies
(copyno number(10) not null primary key, isbn char(20),
constraint fk_copyno foreign key(isbn) references Books(isbn));
(3)创建Authors表
create table Authors
(authorno number(10) not null primary key,
authorname char(20));
(4)创建Categories表
create table Categories
(zncode number(20)not null primary key,
catename char(20));
(5)创建Writers表
create table Writers
(isbn char(20)not null,
authorno number(20)not null,
constraint pk_writers primary key(isbn,authorno));
(6)创建Publishers表
create table Publishers
(pubname char(30)not null primary key,
address char(50));
(7)创建Users表
create table Users
(UserName char(20) not null,
UserPwd char(20) not null,
UserNo number(12) primary key,
Birth date not null,
Quanxian number(20),
Email char(30),
TEL char(20),
Address char(20));
3.视图设计
设计思想
(1)创建视图“cx_books”,查看图书的图书编码,书名,出版社名,中南分校编码,作者名,作者号。
(2)创建视图“ cx_zj”,各用户只能查找作家出版社的图书名称,作者,副本编号。
(3)创建视图“cx_anni”,查看作者为安妮宝贝所有的图书信息的视图。
具体实现
(1)create or replace view cx_books
as
select ISBN,Title,PubName,ZNCode,author,authorno
from Books;
(2)create or replace view cx_zj
as
select title,author,copyno
from Books,Copies
where Copies.isbn=Books.isbn and PubName='作家出版社';
(3)create or replace view cx_anni
as
select * from Books where author='安妮宝贝';
查看视图:
select * from cx_books;
select * from cx_zj;
select * from cx_anni;
4.索引设计
设计思想
(1)在Books表中的书名创建索引。
(2)为Users表的姓名创建索引。
具体实现
(1)create index Books_title_idx
on Books(title);
(2)create index Users_username_idx
on Users(username);
5.存储过程和函数设计
设计思想
添加书籍信息的存储过程BooksAdd
具体实现
create or replace procedure BooksAdd
(isbn in char,title in char,pubname in char,
author in char,authorno in char,zncode in char)
as
begin
insert into Books
values(isbn,title,pubname,author,authorno,zncode);
end BooksAdd;
执行过程:
execute BooksAdd('Booo1','遮天','辰东','未来出版社',11,11);
6.触发器及包设计
设计思想
删除Books书籍信息表中的一条记录,删除记录isbn的字段值在Copies副本信息表中对应的记录
具体实现
create or replace trigger BooksDelete after delete on Books for each row
begin
delete from Copies
where isbn=:OLD.isbn;
end BooksDelete;
7.数据库安全设计
设计思想
授予图书管理员和读者不同的权限,方便管理
具体实现
(执行结果的分析,以及报错时对错误的分析)
创建用户
create user reader identified by reader;
create user manager identified by manager;
授予:
grant all to manager;
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;
四、实验小结
在这次数据库设计的综合实验中,基本掌握了系统开发数据库的各个步骤以及代码的实现,结合物理和逻辑结构设计,实际提高了数据路代码编写的能力。虽然说做的数据库基本实现了图书管理系统的学生信息管理、图书管理借书和还书等基础功能,但是对于大型图书馆其功能还是相差太多。在接下来的学习中,会进一步去学习以及思考如何完善数据库功能,在数据库设计中获取更多的知识以及经验。
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
精品资料
展开阅读全文