图书馆管理系统《Oracle数据库技术》综合设计报告书.docx
- 文档编号:30204748
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:29
- 大小:242.57KB
图书馆管理系统《Oracle数据库技术》综合设计报告书.docx
《图书馆管理系统《Oracle数据库技术》综合设计报告书.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统《Oracle数据库技术》综合设计报告书.docx(29页珍藏版)》请在冰豆网上搜索。
图书馆管理系统《Oracle数据库技术》综合设计报告书
《Oracle数据库技术》
Oracle综合设计实验报告
选 题:
图书管理信息系统
班 级:
学 号:
姓 名:
填写日期:
2010 年12月25日
一、系统功能说明
随着社会的发展,人们对知识的需求也不断的增长。
在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。
图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。
现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进行信息管理。
数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。
因此一个好的图书馆管理系统是非常重要的。
1.登录模块
用户登录:
用户在登陆页面登陆,登陆成功进入系统。
管理员登陆:
用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。
图书管理员与系统管理员后台功能不一样。
查询用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息
2.图书管理模块
对图书进行添加、查询、修改、删除、添加。
将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。
3.副本信息模块
对图书的副本信息进行添加、修改、删除。
将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。
4.用户管理模块
对用户进行添加、删除、修改。
将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的姓名或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。
二、数据库分析与设计:
2.1数据库的概念设计
图书管理信息系统E—R图
2.2数据库的逻辑设计
图书(国际标准图书编码,书名,出版社名,作者名,作者号,中南码)
图书副本(副本编号,国际标准图书编码)
作者(作者号,作者名)
分类目录(中南码,目录名)
写书(国际标准图书编码,作者号)
出版社(出版社名,地址)
用户(用户编号,用户名,密码,权限,生日,邮箱,联系电话,籍贯)
2.3数据库的物理设计
1.以表单的形式给出数据库中的具体表的结构以及字段的说明
表2-1 Books表
字段
数据类型
数据长度
能否为空
中文名
备注
ISBN
Char
20
否
国际标准图书编码
主码
Title
Char
30
是
书名
Pubname
Char
30
是
出版者名
Author
Char
30
是
作者名
Authorno
Number
30
是
作者号
ZNCode
Number
30
是
中南分校码
表2-2 Copies表
字段
数据类型
数据长度
能否为空
中文名
备注
CopyNo
Number
10
否
副本编号
主码
ISBN
Char
20
是
国际标准图书编码
表2-3Authors表
字段
数据类型
数据长度
能否为空
中文名
备注
AuthorNo
Number
10
否
作者号
主码
AuthorName
Char
20
是
作者名
表2-4Categories表
字段
数据类型
数据长度
能否为空
中文名
备注
ZNCode
Number
20
否
中南分校码
主码
CateName
Char
20
是
目录名
表2-5 Writers表
字段
数据类型
数据长度
能否为空
中文名
备注
ISBN
Char
20
否
国际标准图书编码
主码
AuthorNo
Number
20
否
作者号
主码
表2-6 Publishers表
字段
数据类型
数据长度
能否为空
中文名
备注
PubName
Char
30
否
出版者名
主码
Address
Char
50
是
地址
表2-7Users表
字段
数据类型
数据长度
能否为空
中文名
备注
UsersNo
Number
12
否
用户编号
主码
UserName
Char
20
否
用户名
UserPwd
Char
20
否
用户密码
Quanxian
Number
20
否
权限
Birthday
Date
否
用户生日
Char
30
是
用户的邮箱
Tel
Char
20
是
用户的联系电话
Address
Char
20
是
籍贯
2.数据库的索引
(1)在Books表中的书名创建索引。
(2)为Users表中的姓名创建索引。
(3)为Copies表中的副本编号创建索引。
3.数据库的视图
(1)创建视图“cx_books”,要求查看书籍的国际标准图书编码,书名,出版社名,中南分校编码,作者名,作者号。
(2)创建视图“cx_zj”,要求各用户只能查找作家出版社的书籍名称,作者,副本编号。
(3)创建视图“cx_anni”,要求查看作者为安妮宝贝所有的书籍信息的视图。
4.文件位置
数据库中数据文件,控制文件,日志文件,参数文件的存取路径
D:
\Oracle\数据文件
D:
\Oracle\控制文件
D:
\Oracle\日志文件
D:
\Oracle\参数文件
三、数据库实现
3.1表空间
表空间的创建(注意:
数据表空间和索引表空间分别建立在不同磁盘上)
//创建数据表空间
SQL>createtablespace data
2logging
3datafile'D:
\Oracle\product\10.2.0\oradata\library\data01.dbf'
4 size 50m
5 reuseautoextendoff;
表空间已创建。
//创建索引表空间
SQL>createtablespaceindx
2 datafile'F:
\Oracle\product\10.2.0\oradata\library\indx01.dbf'
3 size32m
4reuseautoextendonnext1280k
5 minimumextent128k
6 defaultstorage
7 (initial128k next 128kminextents 1maxextents4096 pctincrease0);
表空间已创建。
3.2 数据表
1.数据表的创建,注意要有表中的约束的定义,以及表间的约束的定义。
(1)创建Books表
SQL>createtableBooks
2 (isbnchar(20) notnullprimarykey,
3titlechar(30),
4 pubnamechar(30),
5authorchar(30),
6authorno number(30),
7 zncodenumber(30));
表已创建。
(2)创建Copies表
SQL> createtablecopies
2 (copynonumber(10)notnullprimarykey,
3 isbnchar(20)
4 constraint fk_copynoforeign key(isbn)referencesbooks(isbn));
表已创建。
(3)创建Authors表
SQL> createtableAuthors
2(authornonumber(10) notnull primary key,
3authorname char(20));
表已创建。
(4)创建Categories表
SQL>createtableCategories
2(zncode number(20)notnullprimary key,
3 catenamechar(20));
表已创建。
(5)创建Writers表
SQL>createtable Writers
2 (isbnchar(20)not null,
3authornonumber(20)not null,
4 constraintpk_writersprimary key(isbn,authorno));
表已创建。
(6)创建Publishers表
SQL>createtablePublishers
2 (pubnamechar(30)not nullprimarykey,
3addresschar(50));
表已创建。
(7)创建Users表
SQL>createtableUsers
2(UserName char(20) notnull,
3 UserPwdchar(20)not null,
4 UserNonumber(12)primarykey,
5Birthdate notnull,
6Quanxiannumber(20),
7Emailchar(30),
8 TELchar(20),
9 Addresschar(20));
表已创建。
2.表中数据的插入(每张表中至少要有10条数据)
(1)Books表
insert into
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0001','草样年华','长江文艺出版社',1,'孙睿',1);
Insert into
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0002','莲花','武汉大学出版社',2,'安妮宝贝',2);
Insertinto
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0003','小王子','作家出版社',3,'黄葒',3);
Insertinto
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0004','彼岸花','北京大学出版社',4,'安妮宝贝',2);
Insertinto
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0005','二三事','武汉大学出版社',5,'安妮宝贝',2);
Insertinto
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0006','霜冷长河','作家出版社',6,'余秋雨',4);
Insertinto
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0007','笛声何处','作家出版社',7,'余秋雨',4);
insert into
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0008','梦里花落知多少','长江文艺出版社',8,'郭敬明',5);
insert into
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A0009','小时代','长江文艺出版社',9,'郭敬明',5);
insert into
Books(ISBN,Title,PubName,ZNCode,author,authorno)
values('A00010','三重门','作家出版社',10,'韩寒',6);
(2)Copies表
insertintocopies(copyno,isbn)values(1001,'A0001');
insertintocopies(copyno,isbn)values(1002,'A0002');
insertintocopies(copyno,isbn) values(1003,'A0003');
insertinto copies(copyno,isbn)values(1004,'A0004');
insert intocopies(copyno,isbn)values(1005,'A0005');
insertinto copies(copyno,isbn)values(1006,'A0006');
insertinto copies(copyno,isbn)values(1007,'A0007');
insertintocopies(copyno,isbn) values(1008,'A0008');
insert intocopies(copyno,isbn)values(1009,'A0009');
insertintocopies(copyno,isbn)values(10010,'A00010');
(3)Users表
insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
Values('冯美','123', 1,1,TO_DATE('1986-09-01','YYYY-MM-DD'),'530347830@qq.com','','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('王灿','456',
2,2,TO_DATE('1998-10-09','YYYY-MM-DD'),'297074969@qq.com','1355041230','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('杨攀','789',
3,2,TO_DATE('1984-10-01','YYYY-MM-DD'),'503381172@qq.com','1355041316','hubei');
Insert into
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('张楠楠','111',
4,2,TO_DATE('1978-02-09','YYYY-MM-DD'),'502881172@qq.com','1355041720','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('王子莫','222',
5,2,TO_DATE('1989-01-09','YYYY-MM-DD'),'503381171@qq.com','1355041136','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('李丽','333',
6,2,TO_DATE('1989-01-09','YYYY-MM-DD'),'503386472@qq.com','1355041510','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('张婷','444',
7,2,TO_DATE('1988-05-09','YYYY-MM-DD'),'403386472@qq.com','1355041732','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('王维','555',
8,2,TO_DATE('1986-07-19','YYYY-MM-DD'),'503122347@','1355041110','hubei');
Insert into
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('刘晓林','666',
9,2,TO_DATE('1989-11-16','YYYY-MM-DD'),'503391412@qq.com','1355041903','hubei');
Insertinto
Users(UserName,UserPwd,UserNo,Birth,QuanXian,Email,TEL,Address)
values('罗莎','777',
10,2,TO_DATE('1989-12-12','YYYY-MM-DD'),'103366472@qq.com','1355041168','hubei');
3.数据的修改和删除
(1)数据的修改
将用户为9的用户的联系电话修改为906
updateUsers
setTEL='906’
whereuserno=9;
(2)数据的删除
将用户罗莎删除
deletefromUsers
whereusername='罗莎';
3.3索引和视图
1.索引的创建
(1)在Books表中的书名创建索引。
SQL>createindex Books_title_idx
2 on Books(title);
索引已创建。
(2)为Users表的姓名创建索引。
SQL>createindexUsers_username_idx
2 onUsers(username);
索引已创建。
(3)为副本表中的副本编号创建索引
SQL> create indexCopies_copyno_idx
2 onCopies(copyno);
索引已创建。
2.视图的创建
(1)创建视图“cx_books”,要求查看图书的国际标准图书编码,书名,出版社名,中南分校编码,作者名,作者号。
SQL> createorreplaceview cx_books
2 as
3selectISBN,Title,PubName,ZNCode,author,authorno
4 fromBooks;
视图已创建。
(2)创建视图“cx_zj”,要求各用户只能查找作家出版社的图书名称,作者,副本编号。
SQL>createorreplace viewcx_zj
2 as
3 selecttitle,author,copyno
4 from Books,Copies
5 whereCopies.isbn=Books.isbn andPubName='作家出版社';
视图已创建。
(3)创建视图“cx_anni”,要求查看作者为安妮宝贝所有的图书信息的视图。
SQL> createorreplaceview cx_anni
2 as
3 select*
4 fromBooks
5 whereauthor='安妮宝贝';
视图已创建。
3.数据的查询(要求做基础数据的查询,做视图的查询,查询要和系统的功能联系起来)
(1)查询图书表中作者号为2的作者所有作品的书名和出版社。
(2)查找所有姓王的用户的编号,姓名,联系电话,地址。
(3)查找由作家出版社出版的所有图书的副本编号。
3.4PL/SQL程序块(至少2个程序块)
1.存储过程的定义
添加书籍信息的存储过程BooksAdd
SQL> createorreplaceprocedureBooksAdd
2(isbn in char,titlein char,pubnameinchar,
3 authorinchar,authornoinchar,zncodein char)
4as
5 begin
6insertinto Books
7 values(isbn,title,pubname,author,authorno,zncode);
8 endBooksAdd;/
过程已创建。
2.函数的定义
总计所有作者的数量
SQL>createor replacefunction count
2 (cnumin char)
3return number
4as
5cntnumber;
6begin
7selectcount(author)into cnt
8 from Books;
9 return(cnt);
10endcount; /
函数已创建。
3.触发器的定义
删除Books书籍信息表中的一条记录,删除记录isbn的字段值在Copies副本信息表中对应的记录
SQL>createorreplace triggerBooksDelete
2 afterdeleteonBooksfor eachrow
3begin
4 deletefromCopies
5 where isbn=:
OLD.isbn;
6endBooksDelete;
7/
触发器已创建。
3.4.1用户权限
授予Reade
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle数据库技术 图书馆 管理 系统 Oracle 数据库技术 综合 设计 报告书