大型数据库大实验_第1页
大型数据库大实验_第2页
大型数据库大实验_第3页
大型数据库大实验_第4页
大型数据库大实验_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档(一)Oracle的安装与配置(1)Oracle 11g的安装1)将两个压缩包解压在一个文件夹之后,打开文件夹,找到setup.exe,双击即可进入安装界面。2)配置安全更新,电子邮箱不用写,取消默认的“我希望通过My Oracle Support接收安全更新(W)”单击下一步 3)安装选项,选择“创建和配置数据库”,单击下一步4)系统类:选择服务器类,单击下一步5)网络安全选项:选择单实例数据库安装,单击下一步6)安装类型:选择“高级安装”,单击下一步7)数据库版本选择:企业版,单击下一步8)配置类型:选择“一般用途/事务处理”,单击下一步9)数据库标识符,填写数据库名和标识,如下图

2、所示,单击下一步10)方案口令,选择使用相同口令。11)完成配置后,单击完成就可以正式安装了,如下图所示(2)利用DBCA创建数据库1)欢迎界面,点击下一步2)选择创建数据库,单击下一步3)数据库模板,选择一般用途或事务处理4)数据库标识为自己名字的首字母5)管理选项6)数据库身份证明7)恢复配置8)链接模式设置为共享9)数据库存储10)创建选项11)创建数据库12)创建数据库概要(二)用户与权限管理(1)表空间的创建我在D,E盘创建了。SQL> create tablespace MYTBS logging datafile 'D:MYTBS1.DBF' size 30

3、0m;表空间已创建。SQL> alter tablespace MYTBS add datafile 'E:MYTBS2.DBF' size 200m;表空间已更改。(2)创建配置文件的创建SQL> create profile userprofile limit 2 password_life_time 10 3 failed_login_attempts 3 4 password_lock_time 1;配置文件已创建查看该配置文件中的资源配置结果,dba_profiles数据字典表(3)创建用户新建一个用户ls,设置默认表空间为MYTBS用户ls的配置文件为u

4、serprofile查看新建的用户默认表空间,dba_users数据字典表(4)分配权限为ls用户授权:赋予创建任何表、创建任何索引的权限,将DBA的角色给新建用户;查看对应的用户获得的权限和角色用数据字典表user_sys_privs,user_tab_privs,user_role_等SQL> grant connect,resource to ls;授权成功。SQL> grant create any table,create any index to ls;授权成功。SQL> grant dba to ls;授权成功。SQL> conn ls/161592519

5、5;已连接。SQL> select * from user_sys_privs;SQL> select * from user_tab_privs;SQL> select * from user_role_privs; (5)用新建的帐号登录。并执行show user命令,显示当前登录用户(三)Oracle对象的创建与管理此系统为图书馆管理系统(一)需求分析:一:普通用户查看个人信息已经更改个人信息,查询书籍,借书操作,还书操作二:管理员用户可以添加书籍,更新书籍信息,为用户借书,还书操作。(二)数据库设计1) 概念设计:用户表(卡号,密码,身份类别)用户信息(卡号,姓名,性

6、别,已借,可借)已借书目录(卡号,书号)书籍目录(书号,书名,是否借出)书籍信息(书号,书名,作者,主题)2)逻辑结构ls_user(CardNum,PassWord,Identity)用户表ls_usermessage(CardNum,UserName,Sex,CBorrow,NBorrow)用户信息ls_jie(CardNum,BookNum,BookName)已借书目录ls_book(BookNum, BookName,YON)书籍目录ls_bookmessage(BookNum, BookName,Author,Theme)书籍信息目录3)创建代码的实现 1:创建用户表,ls_user

7、(CardNum ,PassWord ,Identity )CardNum为主键SQL> create table ls_user( 2 CardNum char(11) not null, 3 PassWord varchar(11) not null, 4 Identity char(1) default 'P', 5 constraint f_Identity_ck check(Identity in('U','P'), 6 constraint PK_user primary key(CardNum) 7 );表已创建。2:创建用户

8、信息表ls_usermessage(CardNum,UserName,Sex,CBorrow,NBorrow)用户信息CardNum为外键,依赖ls_user表中的CardNum,性别默认为男,约束只能选男、女SQL> create table ls_usermessage( 2 CardNum char(11) not null, 3 UserName varchar(8) not null, 4 Sex char(4) default '男', 5 CBorrow number default 6, 6 NBorrow number default 0, 7 cons

9、traint f_Sex check(Sex in('男','女'), 8 constraint FK_user foreign key(CardNum) 9 references ls_user(CardNum) 10 );表已创建。ls_book(BookNum, BookName,YON)书籍目录SQL> create table ls_book( 2 BookNum char(11) not null, 3 BookName varchar(20) not null, 4 YON char(1) default 'N', 5 con

10、straint f_YON check(YON in('Y','N'), 6 constraint PK_Book primary key(BookNum) 7 );表已创建。ls_jie(CardNum,BookNum,BookName)已借书目录SQL> create table ls_jie( 2 CardNum char(11) not null, 3 BookNum char(11) not null, 4 constraint Fk_CardNum foreign key(CardNum) 5 references ls_user(CardNu

11、m), 6 constraint FK_BookNum foreign key(BookNum) 7 references ls_book(BookNum) 8 );表已创建。ls_bookmessage(BookNum, BookName,Author,Theme)书籍信息目录SQL> create table ls_bookmessage( 2 BookNum char(11) not null, 3 BookName varchar(20) not null, 4 Author varchar(10) not null, 5 Theme varchar(10) not null,

12、6 constraint FK_book foreign key(BookNum) 7 references ls_book(BookNum) 8 );表已创建。3:创建索引和视图:为ls_book创建索引Book_CBorrow用来查找图书时以从高到低的顺序可以先显示未借出的书籍。SQL> create index Book_CBorrow on ls_book(YON desc);索引已创建。视图1:查看借书的详细信息SQL> create or replace view show_Borrow as 2 select * from ls_bookmessage where B

13、ookNum=( 3 select BookNum from ls_jie);视图已创建。视图二:查看未借出的书籍信息SQL> create or replace view show_book as 2 select * from ls_bookmessage where BookNum=( 3 select BookNum from ls_book where YON='N');视图已创建。视图三:查询借被书的详细信息:SQL> create or replace view show_personbook as 2 select ls_jie.CardNum,ls

14、_bookmessage.* from ls_jie,ls_bookmessage where 3 ls_jie.BookNum = ls_bookmessage.BookNum;视图已创建。(四)PL/SQL编程函数:返回该用户已经借阅书的数量SQL> create or replace function Get_BookNums(ID char) 2 return number is 3 nums number; 4 begin 5 select count(*) into nums from ls_jie where CardNum=ID; 6 return nums; 7 end

15、 Get_BookNums; 8 /函数已创建。创建触发器:当添加书籍信息成功后触发SQL> create trigger AddBook 2 after insert on ls_book 3 for each row 4 begin 5 dbms_output.put_line('添加书籍成功'); 6 end; 7 /触发器已创建登录存储过程SQL> create or replace procedure login( 2 p_id in ls_user.CardNum%TYPE, 3 p_password in ls_user.PassWord%TYPE)

16、4 as 5 v_password ls_user.PassWord%TYPE; 6 begin 7 select PassWord into v_password from ls_user 8 where CardNum=p_id; 9 if v_password=p_password then 10 dbms_output.put_line('登录成功'); 11 else dbms_output.put_line('密码错误'); 12 end if; 13 exception 14 when no_data_found then 15 dbms_outp

17、ut.put_line('没有此用户'); 16 end login; 17 /过程已创建。过程二:借阅书籍SQL> create or replace procedure jieshu( 2 id in ls_jie.CardNum%TYPE, 3 bookid in ls_jie.BookName%TYPE, 4 bookname in ls_jie.BookName%TYPE) 5 as 6 Iden ls_book.YON%TYPE; 7 begin 8 Iden:='Y' 9 insert into ls_jie values(id,bookid

18、,bookname); 10 update ls_book set YON=Iden where BookNum=bookid; 11 dbms_output.put_line('借书成功'); 12 end jieshu; 13 /过程已创建。(五)Oracle备份与导出1、设置归档模式检查数据库是否处于归档模式SQL> archive log list;结果不是就要改为归档,关闭运行的数据库实例SQL> shutdown immediate;启动数据库实例到mount状态,但不要打开SQL> startup mount;切换数据库日志模式SQL> alter database archivelog;查看是否归档SQL> archive log li

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论