oracle数据库大作业.docx
《oracle数据库大作业.docx》由会员分享,可在线阅读,更多相关《oracle数据库大作业.docx(38页珍藏版)》请在冰豆网上搜索。
![oracle数据库大作业.docx](https://file1.bdocx.com/fileroot1/2023-7/14/1b90300c-8a53-4117-b1db-2798d3195537/1b90300c-8a53-4117-b1db-2798d31955371.gif)
oracle数据库大作业
可编写可改正
2013-2014学年第二学期《大型数据库技术》考察报告
课题名称:
图书管理系统系统
班级:
11软工java2班
学号:
20
姓名:
戴春奇
成绩:
2014年5月
1
可编写可改正
1.课题概括
课题简介
跟着社会的发展,人们对知识的需求也不停的增加。
在这类形式下,人们就要不停
的学习,不停的给自己充电,而图书室就自但是然地在人们的生活中占有了必定的地点,
怎样科学的管理图书室不只关系到读者求知的方便程度,也关系到图书室的发展。
图书
馆作为一种信息资源的集散地,用户借阅资料众多,包括好多的信息数据的管理。
当今,
有好多的图书室都是初步开始使用,有些甚至还没有使用计算机进行信息管理。
数据信息
办理工作量大,简单犯错;用于数据众多,简单丢掉,且不易查找。
总的来说,缺少系
统,规范的信息管理手段。
只管有的图书室有计算机,可是还没有用于信息管理,没有发
挥它的效劳,资源闲置比较突出。
所以一个好的图书室管理系统是特别重要的。
功能描绘
1.登录模块
用户登录:
用户在登岸页面登岸,登岸成功进入系统。
管理员登岸:
用于管理员的登岸,在后台登岸页面登岸,登岸成功进入系统。
图书管理员与系统管理员后台功能不同样。
查问用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息。
2.图书管理模块
对图书进行增添、查问、改正、删除、增添。
将输入的图书信息增添到数据库图书表中,以方便进行各样查问及更新操作,依据输入的图书名称或作者,查问数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。
3.副本信息模块
2
可编写可改正
对图书的副本信息进行增添、改正、删除。
将输入的图书副本信息增添到副本表中,并分派一个独立的中南码依据输入的中南码或国际标准图书编码,查问图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、改正副本表中错误的信息并更新数据库。
4.用户管理模块
对用户进行增添、删除、改正。
将输入的用户信息增添到用户表中,并分派一个独立的用户号依据输入的用户名的姓名或诞辰,查问用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、改正用户中错误的信息并更新数据库。
2、数据库设计及实现
数据库表清单
1、图书信息-----Books表
编号字段数据种类数据长度可否为空中文名备注
1ISBNChar20否国际标准图书编码主码
2TitleChar30是书名
3PubnameChar30是第一版者名
4AuthorChar30是作者名
5AuthornoNumber30是作者号
3
可编写可改正
6
ZNCode
Number
30
是
中南码
2、副本-----
Copies表
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
CopyNo
Number
10
否
副本编号
主码
2
ISBN
Char
20
是
国际标准图书编码
3、作者信息-----Authors
表
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
AuthorNo
Number
10
否
作者号
主码
2
AuthorNa
Char
20
是
作者名
me
4、类型-----Categories
表
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
ZNCode
Number
20
否
中南码
主码
2
CateName
Char
20
是
目录名
5、作家-----Writers表
4
可编写可改正
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
ISBN
Char
20
否
国际标准图书编码
主码
2
AuthorNo
Number
20
否
作者号
主码
6、第一版社-----Publishers
表
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
Pubname
Char
30
否
第一版者名
主码
2
Address
Char
50
是
地点
7、用户-----
Users表
编号
字段
数据种类
数据长度
可否为空
中文名
备注
1
UsersNo
Number
12
否
用户编号
主码
2
UserName
Char
20
否
用户名
3
UserPwd
Char
20
否
用户密码
4QuanxiaNumber20否权限
5BirthdayDate否用户诞辰
5
可编写可改正
6EmailChar30是用户的邮箱
7TelChar20是用户的联系电话
8AddressChar20是籍贯
创立表空间
(2)表的实现代码
6
可编写可改正
1、图书信息-----Books表
SQL>run
1
createtableBooks
2
(isbnchar(20)
notnull
primarykey,title
char(30),pubname
char(30),
authorchar(30),authornonumber(30),zncodenumber(30))
tablespaceMYTBS
5*storage(initial1M)
表已创立。
2、副本-----Copies表
SQL>createtablecopies
(copynonumber(10)notnullprimarykey,
isbnchar(20))
tablespaceMYTBS
storage(initial256k);
表已创立。
7
可编写可改正
3、作者信息-----Authors表
SQL>createtableAuthors
2(zncodenumber(20)notnullprimarykey,catenamechar(20))
tablespaceMYTBS
storage(initial256k);
表已创立。
24、类型-----Categories表
3
4SQL>createtableCategories
5
6(zncodenumber(20)notnullprimarykey,
7
8catenamechar(20))
9
10tablespaceMYTBS
11
12storage(initial256k);
8
可编写可改正
表已创立。
5、作家-----Writers表
SQL>createtableWriters
(isbnchar(20)notnull,
authornonumber(20)notnull,
constraintpk_writersprimarykey(isbn,authorno))
tablespaceMYTBS
storage(initial256k);
表已创立。
6、第一版社-----Publishers表
SQL>createtablePublishers
2(pubnamechar(30)notnullprimarykey,addresschar(50))
9
可编写可改正
tablespaceMYTBS
storage(initial256k);
表已创立。
7、用户-----Users表
SQL>createtableUsers
(UserNamechar(20)notnull,
UserPwdchar(20)notnull,
UserNonumber(12)primarykey,
Birthdatenotnull,
Quanxiannumber(20),
Emailchar(30),
TELchar(20),
Addresschar(20))
tablespaceMYTBS
storage(initial1M);
表已创立。
10
可编写可改正
分派权限:
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;
2索引表的实现
3
4图书管理系统表的实现
5
6索引的创立代码
7
8
(1)在Books表中的书名创立索引
9
10SQL>createindexBooks_title_idxonBooks(title)
11
12pctfree20
13
14tablespaceMYTBS;
11
可编写可改正
索引已创立。
(2)为Users表的姓名创立索引
SQL>createindexUsers_username_idxonUsers(username)
pctfree20
tablespaceMYTBS;
索引已创立。
3)为copies表copyNo列增添外键拘束,一本书对应只好有一个人借出去,不行能有同时有好多人借同一本书。
SQL>altertablecopiesaddconstraintfk_copyforeignkey(copyno)
references
2Users(UserNo);
表已改正。
12
可编写可改正
SQL>commit;
提交达成。
分区表的实现
创立一个Books副本books2表,并为其创立分区,使用Hash列分区(分区列
authorno),要求创立的两个分区由系统自动生成分区名,并搁置在表空间MYTBS1和
MyTBS2中实现代码:
SQL>createtablebooks2
2asselect*fromBooks
3Partitionbyhash(authorno)
Partitions2
Storein(MYTBS1,MYTBS2);
功能实现
系统登录
(1)功能简介
用户登录考证,能够创立一个储存过程,输入参数是用户帐号、用户密码,输
出参数是整型值。
-1表示登录失败,0表示没有此用户,1表示登录成功。
13
可编写可改正
(2)实现代码
setserveroutputon;
createorreplaceprocedurecheck_users(
v_nameinusers.UserName%type,
v_pwd%type,
flagoutnumber)
IS
countsnumber;
pcountsnumber;
BEGIN
selectcount(*)intocountsfromuserswhereUserName=v_name;
IFcounts>0THEN
selectcount(*)intopcountsfromuserswhereUserPwd=v_pwd;
IFpcounts>0THEN
flag:
=1;
('登录成功!
');
ENDIF;
ELSE
flag:
=0;
('没有此用户!
');
ENDIF;
14
可编写可改正
exception
whenno_data_foundthen
flag:
=-1;
('登录失败!
');
ENDCHECK_USERS;
调用用户登录考证
SETserveroutputON;
DECLARE
V_NAMEVARCHAR2(25);
V_PASSWORDVARCHAR2(25);
V_RETURNNUMBER(5);
BEGIN
V_NAME:
='admin';
V_PASSWORD:
='admin';
CHECK_USERS(v_name=>V_NAME,v_pwd=>V_PASSWORD,flag=>V_RETURN);
('V_NAME='||V_NAME);
('V_PASSWORD='||V_PASSWORD);
END;
用户注册
(1)功能简介
本功能为管理员注册,使用过程insert_Users实现。
15
可编写可改正
(2)代码实现
createorreplaceprocedureinsert_Users(
v_Idin%type,
v_pwdin%type,
v_namein%type
v_Addressin%type
v_TELin%type
)
isbegin
insertintoUsersvalues(v_id,v_pwd,v_name,v_Address,v_TEL);
('注册成功!
');
endinsert_Users;
3)运转结果调用过程:
setserveroutputon;
execinsert_Users('01',20,'daichunqi','云南',123456);
用户改正信息
(1)功能简介
本功能为用户改正信息,使用过程update_Users实现。
(2)代码实现
createorreplaceprocedureupdate_Users(
16
可编写可改正
v_Idin%type,
v_pwdin%type,
v_namein%type
v_Addressin%type
v_TELin%type
)
isbegin
updateUserssetuserpwd=v_pwd,username=v_name,Address=v_Address,TEL=v_
TELwhereUserNO=v_Id);
('改正成功!
');
endupdate_Users;
3)运转结果调用过程:
setserveroutputon;
execupdate_Users('01',20,'daichunqi','云南',123456);
17