oracle大数据库大作业.docx
- 文档编号:9183185
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:73.49KB
oracle大数据库大作业.docx
《oracle大数据库大作业.docx》由会员分享,可在线阅读,更多相关《oracle大数据库大作业.docx(15页珍藏版)》请在冰豆网上搜索。
oracle大数据库大作业
2013-2014学年第二学期《大型数据库技术》考查报告
课题名称:
图书管理系统系统
班级:
11软工java2班
学号:
1115115020
姓名:
戴春奇
成绩:
2014年5月
1.课题概述
1.1课题简介
随着社会的开展,人们对知识的需求也不断的增长。
在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的开展。
图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。
现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进展信息管理。
数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规X的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比拟突出。
因此一个好的图书馆管理系统是非常重要的。
1.2功能描述
1.登录模块
用户登录:
用户在登陆页面登陆,登陆成功进入系统。
管理员登陆:
用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。
图书管理员与系统管理员后台功能不一样。
查询用户表,对应用户名、密码正确如此进入系统,对应用户名密码不正确如此显示相应信息。
2.图书管理模块
对图书进展添加、查询、修改、删除、添加。
将输入的图书信息添加到数据库图书表中,以方便进展各种查询与更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。
3.副本信息模块
对图书的副本信息进展添加、修改、删除。
将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。
4. 用户管理模块
对用户进展添加、删除、修改。
将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的某某或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。
2、数据库设计与实现
2.1数据库表清单
1、图书信息-----Books表
编号
字段
数据类型
数据长度
能否为空
中文名
备注
1
ISBN
Char
20
否
国际标准图书编码
主码
2
Title
Char
30
是
书名
3
Pubname
Char
30
是
出版者名
4
Author
Char
30
是
作者名
5
Authorno
Number
30
是
作者号
6
ZNCode
Number
30
是
中南码
2、副本-----Copies表
编号
字段
数据类型
数据长度
能否为空
中文名
备注
1
CopyNo
Number
10
否
副本编号
主码
2
ISBN
Char
20
是
国际标准图书编码
3、作者信息-----Authors表
编号
字段
数据类型
数据长度
能否为空
中文名
备注
1
AuthorNo
Number
10
否
作者号
主码
2
AuthorName
Char
20
是
作者名
4、类别-----Categories表
编号
字段
数据类型
数据长度
能否为空
中文名
备注
1
ZNCode
Number
20
否
中南码
主码
2
CateName
Char
20
是
目录名
5、作家-----Writers表
编号
字段
数据类型
数据长度
能否为空
中文名
备注
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
否
用户密码
4
Quanxia
Number
20
否
权限
5
Birthday
Date
否
用户生日
6
Char
30
是
用户的
7
Tel
Char
20
是
用户的联系
8
Address
Char
20
是
籍贯
2.2创建表空间
//创建数据表空间
SQL>createtablespaceMYTBS
2datafile'e:
\oracle\MYTBS\MYTBS1.dbf'size500m;
表空间已创建。
SQL>altertablespaceMYTBSadddatafile'f:
\oracle\MYTBS\MYTBS2.dbf'size500m;
表空间已更改。
2.3创建用户配置文件
SQL>Createprofilelock_timelimit
2password_life_time30
3failed_login_attempts5
4password_lock_time7;
配置文件已创建
2.4创建用户与分配权限
SQL>createuserDCQidentifiedby1115115020defaulttablespaceMYTBS;
用户已创建。
SQL>grantconnect,resource,createviewtoDCQ;
授权成功。
SQL>mit;
提交完成。
SQL>connectDCQ/1115115020;
已连接。
2.5根本表实现
2.5.1图书管理系统表的实现
(1)表的功能概述。
表的存储空间的分配为books表和users表分配1M,其他的表都分配256k
具体表的数据列、数据类型、主键、外键、是否为空都在数据库表清单中详细描述.
〔2〕表的实现代码
1、图书信息-----Books表
SQL>run
1createtableBooks
2(isbnchar(20)notnullprimarykey,titlechar(30),pubnamechar(30),
3authorchar(30),authornonumber(30),zncodenumber(30))
4tablespaceMYTBS
5*storage(initial1M)
表已创建。
2、副本-----Copies表
SQL>createtablecopies
2(copynonumber(10)notnullprimarykey,
3isbnchar(20))
4tablespaceMYTBS
5storage(initial256k);
表已创建。
3、作者信息-----Authors表
SQL>createtableAuthors
2(zncodenumber(20)notnullprimarykey,catenamechar(20))
3tablespaceMYTBS
4storage(initial256k);
表已创建。
4、类别-----Categories表
SQL>createtableCategories
2(zncodenumber(20)notnullprimarykey,
3catenamechar(20))
4tablespaceMYTBS
5storage(initial256k);
表已创建。
5、作家-----Writers表
SQL>createtableWriters
2(isbnchar(20)notnull,
3authornonumber(20)notnull,
4constraintpk_writersprimarykey(isbn,authorno))
5tablespaceMYTBS
6storage(initial256k);
表已创建。
6、-----Publishers表
SQL>createtablePublishers
2(pubnamechar(30)notnullprimarykey,addresschar(50))
3tablespaceMYTBS
4storage(initial256k);
表已创建。
7、用户-----Users表
SQL>createtableUsers
2(UserNamechar(20)notnull,
3UserPwdchar(20)notnull,
4UserNonumber(12)primarykey,
5Birthdatenotnull,
6Quanxiannumber(20),
7Emailchar(30),
8TELchar(20),
9Addresschar(20))
10tablespaceMYTBS
11storage(initial1M);
表已创建。
分配权限:
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.6索引表的实现
2.6图书管理系统表的实现
索引的创建代码
(1)在Books表中的书名创建索引
SQL>createindexBooks_title_idxonBooks(title)
2pctfree20
3tablespaceMYTBS;
索引已创建。
(2)为Users表的某某创建索引
SQL>createindexUsers_username_idxonUsers(username)
2pctfree20
3tablespaceMYTBS;
索引已创建。
(3)为copies表copyNo列添加外键约束,一本书对应只能有一个人借出去,不可能有同时有很多人借同一本书。
SQL>altertablecopiesaddconstraintfk_copyforeignkey(copyno)references
2Users(UserNo);
表已更改。
SQL>mit;
提交完成。
2.7分区表的实现
创建一个Books副本books2表,并为其创建分区,使用Hash列分区〔分区列authorno〕,要求创建的两个分区由系统自动生成分区名,并放置在表空间MYTBS1和MyTBS2中实现代码:
SQL>createtablebooks2
2asselect*fromBooks
3Partitionbyhash(authorno)
4Partitions2
5Storein(MYTBS1,MYTBS2);
3.功能实现
〔1〕功能简介
用户登录验证,可以创建一个存储过程,输入参数是用户某某、用户密码,输出参数是整型值。
-1表示登录失败,0表示没有此用户,1表示登录成功。
〔2〕实现代码
setserveroutputon;
createorreplaceprocedurecheck_users(
v_nameinusers.UserName%type,
v_pwdusers.UserPwd%type,
flagoutnumber)
IS
countsnumber;
pcountsnumber;
BEGIN
selectcount(*)intocountsfromuserswhereUserName=v_name;
IFcounts>0THEN
selectcount(*)intopcountsfromuserswhereUserPwd=v_pwd;
IFpcounts>0THEN
flag:
=1;
dbms_output.put_line('登录成功!
');
ENDIF;
ELSE
flag:
=0;
dbms_output.put_line('没有此用户!
');
ENDIF;
exception
whenno_data_foundthen
flag:
=-1;
dbms_output.put_line('登录失败!
');
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);
DBMS_OUTPUT.PUT_LINE('V_NAME='||V_NAME);
DBMS_OUTPUT.PUT_LINE('V_PASSWORD='||V_PASSWORD);
END;
〔1〕功能简介
本功能为管理员注册,使用过程insert_Users实现。
〔2〕代码实现
createorreplaceprocedureinsert_Users(
v_IdinUsers.UserNo%type,
v_pwdinUsers.userpwd%type,
v_nameinUsers.username%type
v_AddressinUsers.Address%type
v_TELinUsers.TEL%type
)
isbegin
insertintoUsersvalues(v_id,v_pwd,v_name,v_Address,v_TEL);
dbms_output.put_line('注册成功!
');
endinsert_Users;
〔3〕运行结果
调用过程:
setserveroutputon;
execinsert_Users('01',1115115020,'daichunqi','某某',123456);
〔1〕功能简介
本功能为用户修改信息,使用过程update_Users实现。
〔2〕代码实现
createorreplaceprocedureupdate_Users(
v_IdinUsers.UserNo%type,
v_pwdinUsers.userpwd%type,
v_nameinUsers.username%type
v_AddressinUsers.Address%type
v_TELinUsers.TEL%type
)
isbegin
updateUserssetuserpwd=v_pwd,username=v_name,Address=v_Address,TEL=v_TELwhereUserNO=v_Id);
dbms_output.put_line('修改成功!
');
endupdate_Users;
〔3〕运行结果
调用过程:
setserveroutputon;
execupdate_Users('01',1115115020,'daichunqi','某某',123456);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 数据库 作业