当前位置:文档之家› oracle数据库大作业

oracle数据库大作业

o r a c l e数据库大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII2013-2014学年第二学期《大型数据库技术》考查报告课题名称:图书管理系统系统班级: 11软工java2班学号: 1115115020姓名:戴春奇成绩:2014年5月1.课题概述1.1 课题简介随着社会的发展,人们对知识的需求也不断的增长。

在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。

图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。

现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进行信息管理。

数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。

总的来说,缺乏系统,规范的信息管理手段。

尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。

因此一个好的图书馆管理系统是非常重要的。

1.2 功能描述1.登录模块用户登录:用户在登陆页面登陆,登陆成功进入系统。

管理员登陆:用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。

图书管理员与系统管理员后台功能不一样。

查询用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息。

2.图书管理模块对图书进行添加、查询、修改、删除、添加。

将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。

3.副本信息模块对图书的副本信息进行添加、修改、删除。

将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。

4.用户管理模块对用户进行添加、删除、修改。

将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的姓名或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。

2、数据库设计及实现2.1 数据库表清单1、图书信息-----Books表2、副本-----Copies表3、作者信息-----Authors表4、类别-----Categories表5、作家-----Writers表6、出版社-----Publishers表7、用户-----Users表2.2 创建表空间//创建数据表空间SQL> create tablespace MYTBS2 datafile 'e:\oracle\MYTBS\MYTBS1.dbf' size 500m;表空间已创建。

SQL> alter tablespace MYTBS add datafile 'f:\oracle\MYTBS\MYTBS2.dbf' size 500m;表空间已更改。

2.3 创建用户配置文件SQL> Create profile lock_time limit2 password_life_time 303 failed_login_attempts 54 password_lock_time 7;配置文件已创建2.4 创建用户及分配权限SQL> create user DCQ identified by 1115115020 default tablespace MYTBS; 用户已创建。

SQL> grant connect,resource,create view to DCQ;授权成功。

SQL> commit;提交完成。

SQL> connect DCQ/1115115020;已连接。

2.5 基本表实现2.5.1 图书管理系统表的实现(1)表的功能概述。

表的存储空间的分配为books表和users表分配1M,其他的表都分配256k具体表的数据列、数据类型、主键、外键、是否为空都在数据库表清单中详细描述.(2)表的实现代码1、图书信息-----Books表SQL> run1 create table Books2 (isbn char(20) not null primary key,title char(30),pubname char(30),3 author char(30),authorno number(30),zncode number(30))4 tablespace MYTBS5* storage(initial 1M)表已创建。

2、副本-----Copies表SQL> create table copies2 (copyno number(10) not null primary key,3 isbn char(20))4 tablespace MYTBS5 storage(initial 256k);表已创建。

3、作者信息-----Authors表SQL> create table Authors2 (zncode number(20)not null primary key,catename char(20))3 tablespace MYTBS4 storage(initial 256k);表已创建。

4、类别-----Categories表SQL> create table Categories2 (zncode number(20)not null primary key,3 catename char(20))4 tablespace MYTBS5 storage(initial 256k);表已创建。

5、作家-----Writers表SQL> create table Writers2 (isbn char(20)not null,3 authorno number(20)not null,4 constraint pk_writers primary key(isbn,authorno))5 tablespace MYTBS6 storage(initial 256k);表已创建。

6、出版社-----Publishers表SQL> create table Publishers2 (pubname char(30)not null primary key,address char(50))3 tablespace MYTBS4 storage(initial 256k);表已创建。

7、用户-----Users表SQL> create table Users2 (UserName char(20) not null,3 UserPwd char(20) not null,4 UserNo number(12) primary key,5 Birth date not null,6 Quanxian number(20),7 Email char(30),8 TEL char(20),9 Address char(20))10 tablespace MYTBS11 storage(initial 1M);表已创建。

分配权限: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> create index Books_title_idx on Books(title)2 pctfree 203 tablespace MYTBS;索引已创建。

(2)为Users表的姓名创建索引SQL> create index Users_username_idx on Users(username)2 pctfree 203 tablespace MYTBS;索引已创建。

(3)为copies表copyNo列添加外键约束,一本书对应只能有一个人借出去,不可能有同时有很多人借同一本书。

SQL> alter table copies add constraint fk_copy foreign key(copyno)references2 Users(UserNo);表已更改。

SQL> commit;提交完成。

2.7 分区表的实现创建一个Books副本books2表,并为其创建分区,使用Hash列分区(分区列authorno),要求创建的两个分区由系统自动生成分区名,并放置在表空间MYTBS1和MyTBS2中实现代码:SQL> create table books22 as select * from Books3 Partition by hash(authorno)4 Partitions 25 Store in (MYTBS1, MYTBS2);3. 功能实现3.1系统登录(1)功能简介用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。

-1表示登录失败,0表示没有此用户,1表示登录成功。

(2)实现代码set serveroutput on;create or replace procedure check_users(v_name in users. UserName%type,v_pwd erPwd%type,flag out number)IScounts number;pcounts number;BEGINselect count(*) into counts from users where UserName=v_name;IF counts>0 THENselect count(*) into pcounts from users where UserPwd=v_pwd;IF pcounts>0 THENflag:=1;dbms_output.put_line('登录成功!');END IF;ELSEflag:=0;dbms_output.put_line('没有此用户!');END IF;exceptionwhen no_data_found thenflag:=-1;dbms_output.put_line('登录失败!');END CHECK_USERS;-----调用用户登录验证SET serveroutput ON;DECLAREV_NAME VARCHAR2(25);V_PASSWORD VARCHAR2(25);V_RETURN NUMBER(5);BEGINV_NAME := 'admin';V_PASSWORD:= 'admin';CHECK_USERS(v_name=>V_NAME,v_pwd=>V_PASSWORD,flag=>V_RET URN);DBMS_OUTPUT.PUT_LINE('V_NAME = ' || V_NAME);DBMS_OUTPUT.PUT_LINE('V_PASSWORD = ' || V_PASSWORD);END;3.2用户注册(1)功能简介本功能为管理员注册,使用过程insert_ Users实现。

相关主题