oracle復習資料更新2_第1頁
oracle復習資料更新2_第2頁
oracle復習資料更新2_第3頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 章 Oracle 數(shù)據(jù)庫概述1.1 Oracle 數(shù)據(jù)庫簡介問題: Oracle 是什么?Oracle 數(shù)據(jù)庫系統(tǒng)是一個管理數(shù)據(jù)的軟件。Oracle 用途? 對數(shù)據(jù)進行管理(增、刪、改、查)。1.2 Oracle 數(shù)據(jù)庫新特性?網(wǎng)格計算數(shù)據(jù)庫Oracle Real Application Clusters 自動存儲管理 信息供應 數(shù)據(jù)庫自動管理 物化視圖與查詢重寫 閃回版本查詢與閃回錯誤操作 數(shù)據(jù)泵 其他新特性1.4 Oracle 數(shù)據(jù)庫應用結構?客戶- 服務器結構 (C/S)終端- 服務器結構 (T/S)瀏覽器 - 服務器結構 ( B/S)分布式數(shù)據(jù)庫系統(tǒng) ( D/S)復習題2. 實

2、訓題( 1)根據(jù)下列敘述,設計數(shù)據(jù)庫的 E-R 圖、 學校有若干個系,每個系有若干個班級和教研室,每個教研室有若干個老 師,每個老師帶若干個教學班。每個班有若干個學生,每個學生選修若干門課 程,每門課程可由若干個學生選修。系號系名人數(shù)審號鼬f簾號k 1 f也工姓名杵別出宅'日期蝕1T11系有1 !癩室11磁1有nnW 1有n學生m學習n刪哪人數(shù)II期學號卄名 杵別灤 fT號名寧分設計數(shù)據(jù)庫的E-R圖,并轉換為關系模根據(jù)下列描述,授課選課系統(tǒng)有如下的實體,屬性及語義描述:每名學生可以學習若干門課程,每門課程可以有若干個學生學習,每名學 生學完一門課程后能得到一個成績。每門課程只由一名教師

3、講授,每名教師只 能授一門課程。學生,課程和教師的信息如下。學生:學號、姓名、性別、年齡、所在系、所屬班級;課程:課程號、課程名、學分;姓名 怦別I】期敦師h咸緘| Jr學習一n課程關系模式如下:教師:教師號、教師姓名、性別、出生日期、職稱、所在系教師(教師號,姓名,性別,出生日期,系,職稱,課程號)課程(課程號,課程名,學分) 學生(學號,姓名,性別,年齡,班級,系)學習(學號,課程號,成績)第3章創(chuàng)建數(shù)據(jù)庫3.1創(chuàng)建數(shù)據(jù)庫前的準備問題:怎樣規(guī)劃數(shù)據(jù)庫?確定所要創(chuàng)建的數(shù)據(jù)庫類型。數(shù)據(jù)庫類型包括事務處理(OLTP)類型、數(shù)據(jù)倉庫(DSS)類型及折中的通用類型確定數(shù)據(jù)的存儲方式確定數(shù)據(jù)庫的管理方

4、式為新建數(shù)據(jù)庫選擇全局數(shù)據(jù)庫名熟悉與數(shù)據(jù)庫相關的初始化參數(shù),包括初始化參數(shù)文件對系統(tǒng)中已存在的數(shù)據(jù)庫進行備份問題:數(shù)據(jù)庫的創(chuàng)建方式?使用DBCA創(chuàng)建數(shù)據(jù)庫運行腳本手工創(chuàng)建數(shù)據(jù)庫3.3手動創(chuàng)建數(shù)據(jù)庫P35 create database創(chuàng)建數(shù)據(jù)庫(重點)3.4數(shù)據(jù)庫服務器初始化參數(shù)文件問題:初始化參數(shù)文件存放位置,擴展名?<ORACLE_HOME>database 擴展名.ora復習題2. 實訓題(3)在創(chuàng)建數(shù)據(jù)庫之前應該做哪些準備工作?創(chuàng)建數(shù)據(jù)庫之前應該做好規(guī)劃、檢查系統(tǒng)資源情況以及決定數(shù)據(jù)庫的創(chuàng)建方式。(4)說明手動創(chuàng)建數(shù)據(jù)庫的基本步驟。手動創(chuàng)建數(shù)據(jù)庫通常包含如下的操作步驟: 確

5、定新建數(shù)據(jù)庫名稱與實例名稱; 確數(shù)據(jù)庫管理員的認證方式; 創(chuàng)建初始化參數(shù)文件; 創(chuàng)建實例; 連接并啟動實例; 使用CREATE DATABASE 語句創(chuàng)建數(shù)據(jù)庫; 創(chuàng)建附加的表空間; 運行腳本創(chuàng)建數(shù)據(jù)字典視圖3. 選擇題(8) Who owns the data diction ary?A.SYSB.SYSTEMC.DBAD.ORACLE答案:A第4章Oracle企業(yè)管理器4.1 OEM簡介問題:OEM是什么?是管理Oracle的工具4.4數(shù)據(jù)庫控制OEM功能界面介紹問題:OEM管理內容有哪些?“主目錄”屬性頁“性能”屬性頁“管理”屬性頁(由“數(shù)據(jù)庫管理”,“方案管理”,“ Enterpris

6、e Manager"組成)“維護”屬性頁4.5 OEM控制臺設置問題:控制臺是什么?是用戶操作的界面。問題:哪些數(shù)據(jù)庫用戶能登陸和使用 OEM控制臺?在默認情況下,只有SYS, SYSTEM, SYSMAN H 個數(shù)據(jù)庫用戶才能登陸和使 用 OEM控制臺。復習題1簡答題(3)說明OraclelOg數(shù)據(jù)庫控制OEM首選身份證明的類型,以及配置首選省身份證明的目的。答:普通數(shù)據(jù)庫首選身份證明,主機首選身份證明,SYSDBA首選身份證明。保證被管理的企業(yè)環(huán)境安全性。2. 實訓題(1)為當前數(shù)據(jù)庫用戶配置數(shù)據(jù)庫身份證明。答:略第 5 章 SQL*PLUS5.1 SQL*Plus 概述問題:啟

7、動SQL*Phis方法1.命令行方式啟動SQL*Phis2. 圖形界面方式啟動SQL*Plus3. web瀏覽器啟動SQL*Phis問題:進入和退出sql*Plus的相關命令?進入:sqlplususername/password connect_identifier lNOLOG退出:exit5.2 SQL*Phis常用命令問題:可以在SQL*Plus中執(zhí)行哪些語句?SQL語句、PL/SQL程序和SQL*Phis命令。(了解SQL*Plus連接命令,編輯命令寫法P61 了解腳本文件的創(chuàng)建、裝載與編 輯、執(zhí)行 P62 P63了解其他常用命令中的顯示數(shù)據(jù)庫對象結構,修改用戶命令P70)5.3iS

8、QL*Phis問題:iSQL*Plus 與SQL*plus的區(qū)別? ISQL*PLUS 是個網(wǎng)頁版的查詢, SQL*PLUS是基于命令行的。復習題:1簡答題(6)在啟動和登錄iSQL*Plus之前,在數(shù)據(jù)庫服務器端需要啟動哪些服務 ?答:OracleService<SID>,Oracle<ORACLE_HOME_NAME>TNSListener, Oracle<ORACLE_HOME_NAME>iSQL*Plus第6章物理存儲結構6.1 Oracle數(shù)據(jù)庫系統(tǒng)結構問題:Oracle數(shù)據(jù)庫系統(tǒng)結構由什么構成?Oracle數(shù)據(jù)庫系統(tǒng)結構由數(shù)據(jù)庫實例和物理存儲結構

9、組成。讀懂圖6 1圖6 26.2數(shù)據(jù)文件及其管理問題:數(shù)據(jù)文件有哪些?(就是數(shù)據(jù)庫的物理結構)數(shù)據(jù)文件,控制文件,重做日志文件歸檔文件,初始化參數(shù)文件,跟蹤文件,口令文件,警告文件備份文件清楚他們的擴展名1. 創(chuàng)建數(shù)據(jù)文件實例p77例1.例22修改數(shù)據(jù)文件大小實例p77例3.例4.例5。例96.4重做日志文件問題:重做日志文件概念重做日志文件,保存了用戶對數(shù)據(jù)庫所作的更新操作 (DDL、DML),包含的主 要信息是記錄事務的開始和結束、事務中每項操作的對象和類型、更新操作前后的數(shù)據(jù)值等。添加重做日志文件組成員實例 P91復習題1. 簡答題簡單描述Oracle數(shù)據(jù)庫體系結構的及其關系。Oracl

10、e數(shù)據(jù)庫體系結構由物理存儲結構、邏輯存儲結構和實例組成。其中物理 存儲結構描述了操作系統(tǒng)層次數(shù)據(jù)的存儲與管理,包括數(shù)據(jù)文件、日志文件、 重做日志文件等組成。邏輯結構描述了數(shù)據(jù)庫內部數(shù)據(jù)的組織與管理,由表空 間、段、區(qū)、塊組成。實例是數(shù)據(jù)庫運行的軟件結構,由內存結構和后臺進程 組成。數(shù)據(jù)庫運行過程中,用戶的操作在內存區(qū)中進行,最終通過后臺進行轉 化為對數(shù)據(jù)庫的操作。2. 實訓題為USERS表空間添加一個數(shù)據(jù)文件,文件名為USERS03.DBF,大小為50MoALTER TABLESPACE USERADD DATAFILE 'D:ORACLEORADATAORCLuserdata03.d

11、bf,SIZE 50M 5;(8) 為新建的重做日志文件組添加一個成員文件,名稱為 redo4c.log。ALTERDATABASEADDLOGFILEMEMBERtD:ORACLEORADATAORCLredo04c.log TO GROUP 4;3. 選擇題(4) Complete the follow ing senten ce: The recomme nded con figurati on for con trol files is?A. One the con trol file per database B. One con trol file per diskC. Two c

12、ontrol file on two disk D. Two control files on one disk 答: B(8) Which file is used to record all cha nces made to the database and is used only whe n perform ing an in sta nee recovery?A. Archive log file B. Redo log file C. Control file D. Alert log file 答:B第7章邏輯存儲結構7.1邏輯存儲結構概述問題:OraclelOg數(shù)據(jù)庫邏輯存儲結

13、構之間的關系?參見pl02圖7-1問題:數(shù)據(jù)庫、表空間、數(shù)據(jù)文件、數(shù)據(jù)庫對象之間的關系?參見pl03圖7-27.2表空間表空間的管理實例1. 創(chuàng)建表空間P106例4。例52. 修改表空間pl07 例8.例12 o例137.3 數(shù)據(jù)塊(BLOCK)問題:PCTFREE 參數(shù),PCTUSED參數(shù)含義?PCTFREE參數(shù)指定塊中必須保留的最小空閑空間比例。PCTUSED參數(shù)指定可以向塊中插入數(shù)據(jù)時塊已使用的最大空間比例。7.4區(qū)問題:與區(qū)分配相關的存儲參數(shù)?INITIAL,NEXT,PCTINCREASE,MINEXTENTS,MAXEXTENTS7.5段問題:段的分類?數(shù)據(jù)段:用來存儲表或簇的數(shù)據(jù)

14、,可以細分為表數(shù)據(jù)段、索引表數(shù)據(jù)段、分區(qū) 表數(shù)據(jù)段及簇數(shù)據(jù)段四種。復習題1. 簡答題(1)說明數(shù)據(jù)庫邏輯存儲結構的組成和相互關系。Oracle9i數(shù)據(jù)庫的邏輯存儲結構分為數(shù)據(jù)塊、區(qū)、段和表空間四種。其中,數(shù)據(jù) 塊是數(shù)據(jù)庫中的最小I/O單元,由若干個連續(xù)的數(shù)據(jù)塊組成的區(qū)是數(shù)據(jù)庫中最小 的存儲分配單元,由若干個區(qū)形成的段是相同類型數(shù)據(jù)的存儲分配區(qū)域,由若 干個段形成的表空間是最大的邏輯存儲單元,所有的表空間構成一個數(shù)據(jù)庫。說明數(shù)據(jù)庫、表空間、數(shù)據(jù)文件以及數(shù)據(jù)庫對象之間的關系。一個數(shù)據(jù)庫由一個或多個表空間構成,不同的表空間用于存放不同應用的數(shù)據(jù),表空間的大小決定了數(shù)據(jù)庫的大小。一個表空間對應一個或多

15、個數(shù)據(jù)文件,數(shù) 據(jù)文件的大小決定了表空間的大小。一個數(shù)據(jù)文件只能從屬于一個表空間。一 個數(shù)據(jù)庫對象只能存儲在一個表空間中,但可以存儲在該表空間所對應的一個 或多個數(shù)據(jù)文件中。2. 實訓題 使用SQL命令創(chuàng)建一個本地管理方式下的表空間USERTBS2,要求每個 分區(qū)大小為512KBOcreate tablespace USERTBS2datafile 'd:oracleoradataorclusertbs2.dbf size 50Mextent management local uniform size 512K; 為USERTBS2表空間添加一個數(shù)據(jù)文件,以改變該表空間的大小。alte

16、r tablespace USERTBS21add datafile d:oracleoradataorclusertbs2a.dbf size 50M;使用SQL命令對USERTBS1表空間進行聯(lián)機和脫機狀態(tài)轉換。alter tablespace USERTBS1 offli ne;alter tablespace USERTBS1 online;(4)PCTFREE and PCTUSED together should n ot exceed:A.100B.50C.20D.10答:A(8) The sort segment of a temporary tablespace is cre

17、ated;A. at the time of the first sort operationB. when the TEMPORARY tablespace is createdC. when the memory required for sorting is IkbD. all of the above答:A(12)RolIback segment stores:A. old values of the data changed by each transactionB. new values of the data changed by each transactionC. both

18、old and new values of the data changed by each transactionD. none答: A第八章數(shù)據(jù)庫實例8.20racle 內存結構問題: Oracle 內存區(qū)域的分類?系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA)第 11 章模式對象創(chuàng)建表、索引、視圖實例添加約束 ( 主鍵約束、唯一性約束、檢查約束、外鍵約束、空 / 非空約束 )第 12 章安全管理12.2用戶管理問題: Oracle 初始用戶有哪些?SYS, SYSTEM, SCOTT, PUBLIC創(chuàng)建用戶實例 p212 例 1. 例 212.3權限管理系統(tǒng)的授權于撤銷授權實例 p218第

19、13 章 數(shù)據(jù)庫備份與恢復13.1備份與恢復概述 問題:備份與恢復的作用 數(shù)據(jù)庫備份與恢復的目的就是為了保證在各種故障發(fā)生后,數(shù)據(jù)庫中的數(shù)據(jù)都 能從錯誤狀態(tài)恢復到某種邏輯一致的狀態(tài)。第 15 章 SQL 語言基礎熟練各項查詢語句。15.4 事務控制 問題:事物是什么? 是完成一個任務的一段程序第 16 章 PL/SQL 程序設計(重要章節(jié))16.2PL/SQL 基礎 問題: PL/SQL 塊的組成部分? 聲明部分、執(zhí)行部分、異常處理部分 定義一個 PL/SQL 塊 p332 例 1. 例 3 用戶記錄類型的定義 p33916.3 控制語句 選擇結構: if 語法 case 語法 循環(huán)結構 :

20、loop 語法 while 語法 for 語法 都會用到實例中,要熟練運用16.4 游標( 考顯示游標題一道 ) 游標包括顯示游標和隱式游標 游標的定義:語法CURSOR cursor_name IS select_statement 打開:語法OPEN cursor_name; 檢索:語法格式 FETCH cursor_name INTO variable_listlrecord_variable; 關閉:語法格或CLOSE cursor_name; 參數(shù)化顯式游標實例 如:查詢并輸出某個部門的員工信息 DECLARECURSOR c_emp(p_deptno emp.deptno % TY

21、PE)ISSELECT * FROM emp WHERE deptno=p_deptno; v_emp c_emp % ROWTYPE;BEGINOPEN c_emp(10);LOOPFETCH c_emp INTO v_emp; EXIT WHEN c_emp%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_emp.empnoll' 'llv_emp.ename);END LOOP;CLOSE c_emp;OPEN c_emp(20);LOOPFETCH c_emp INTO v_emp;EXIT WHEN c_emp%NOTFOUND; DBMS_OUTP

22、UT.PUT_LINE(v_emp.empnoir 'llv_emp.ename);END LOOP;CLOSE c_emp;END;16.5異常處理了解異常處理的寫法 ( exception end)16.6存儲子程序存儲過程的創(chuàng)建CREATE OR REPLACE PROCEDURE procedure_name(parameterl_name mode datatypeDEFAULTI:=value,parameter2_name mode datatypeDEFAULTI:=value,.)ASUS/.Declarative section is here */BEGIN/*E

23、xecutable section is here*/EXCEPTION/*Exception section is here*/ENDprocedure_name;函數(shù)的創(chuàng)建基本語法為CREATE OR REPLACE FUNCTION function_name(parameterl_name mode datatypeDEFAULTI:=value,parameter2_name mode datatypeDEFAULTI:=value,.)RETURN return_datatypeASUS/*Declarative section is here */BEGIN/*Executabl

24、e section is here*/EXCEPTION/*Exception section is here*/END function_name;注意看書上的扇題。16.7 包包的創(chuàng)建語法CREATE OR REPLACE PACKAGE package_nameISIASPRAGMA SERIALLY_RESUABLEtype_definitionlvariable_declarationl exception_declarationlcursor_declarationl procedure_ declarationlfunction_ declarationEND package_n

25、ame; 注意看書上的扇題。存儲過程和函數(shù)各考一個,寫在包中、16.8 觸發(fā)器(考一道)問題:觸發(fā)器分類?DML 觸發(fā)器:建立在基本表上的觸發(fā)器,響應基本表的 INSERT, UPDATE, DELETE 操作。INSTEAD OF 觸發(fā)器系統(tǒng)觸發(fā)器16.9集合看 P393 最下面那道例題復習題( 4) 創(chuàng)建一個存儲過程,以員工號為參數(shù),修改該員工的工資。若該員工屬于10 號部門,則工資增加 150;若屬于 20號部門,則工資增加 200;若屬于 30號 部門,則工資增加 250;若屬于其他部門,則工資增加 300.CREATE OR REPLACE PROCEDURE UPDATESAL(p

26、_empno emp.empno %TYPE )ASv_deptno emp.deptno % TYPE;v_inc emp.sal%TYPE;BEGINSELECT deptno INTO v_deptno FROM emp WHERE empno=p_empno;CASE v_deptnoWHEN 10 THEN v_inc:=150;WHEN 20 THEN v_inc:=200;WHEN 30 THEN v_inc:=250;ELSE v_inc:=300;END CASE;UPDATE emp SET sal=sal+v_inc WHERE empno=p_empno;END;( 5

27、) 創(chuàng)建一個存儲過程,以員工號為參數(shù),返回該員工的工作年限(以參數(shù)形 式返回)。答: CREATE OR REPLACE PROCEDURERETURN_GZNX ( p_empno emp.empno%type,p_gznx out number )ASv_gznx NUMBER(2);BEGINSELECT trunc(months_between(sysdate,hiredate)/12)INTO v_gznx FROM emp WHERE empno=p_empno;p_gznx:=v_gznx;EXCEPTIONWHEN NO_DATA_FOUND THEN DBMS_OUTPUT.

28、PUT_LINE(1 無此員工 ,) ;END;(8) 創(chuàng)建一個函數(shù),以部門號為參數(shù),返回該部門的平均工資。CREATE OR REPLACE FUNCTION RET_AVGSAL(p_deptno emp.deptno%type) RETURN emp.sal%typeASv_avgsal emp.sal%type;BEGINSELECT avg(sal) INTO v_avgsal FROM emp WHERE deptno=p_deptno;IF v_avgsal IS NULL THEN DBMS_OUTPUT.PUT_LINE(,無此部門!, ) ;RETURN 0;ELSERET

29、URN v_avgsal;END IF;END;(9) 創(chuàng)建一個函數(shù),以員工號為參數(shù),返回該員工所在部門的平均工資。CREATE OR REPLACE FUNCTIONRET_AVGSAL_EMPNO(p_empno emp.empno%type)RETURN emp.sal%typeASv_deptno emp.deptno%type;v_avgsal emp.sal%type;BEGINSELECT deptno INTO v_deptno FROM emp WHERE empno=p_empno;SELECT avg(sal) INTO v_avgsal FROM emp WHERE d

30、eptno=v_deptno;RETURN v_avgsal;EXCEPTIONWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE( 6 無此員 工!,) ;RETURN 0;END;(10) 創(chuàng)建一個包,包中包含一個函數(shù)和一個過程。函數(shù)以部門號為參數(shù),返 回該部門員工的最高工資;過程以部門號為參數(shù),輸出該部門中工資最高的員 工名、員工號。Create or replace package pkg_emp asfunction func_highsal(p_deptno emp.deptno%type) return emp.sal%type;procedu

31、re proc_highsal(p_deptno emp.deptno%type) ; end ; /create or replace package body pkg_empas function func_highsal(p_deptno emp.deptno%type)return emp.sal%typeas v_highsal emp.sal%type ;beginselect max(sal) into v_highsal from emp where deptno=p_deptno ;return v_highsal ;end ;procedure proc_highsal(p

32、_deptno emp.deptno%type)asbeginfor v_emp in (select * from emp where deptno=p_deptno and sal=func_highsal(p_deptno) loopdbms_output.put_line(v_emp.empno| 11 'I |v_emp.ename) ;end loop ;end ;end ; /beginpkg_c_highsal(10) ;end ;(11) 創(chuàng)建一個包,包中包含一個過程和游標。游標返回所有員工的信息;存 儲 過程實現(xiàn)每次輸出游標中的 5 條記錄。答: cr

33、eate or replace package pkg_persistcursorascursor c.emp is select * from emp;procedure displayemp ;end ;create or replace package body pkg_persistcursorAs procedure displayempAs v_emp emp%rowtype ;beginif not c_emp%isopen thenopen c_emp ;end if ; for i in 1 .5 loopfetch c_emp into v_emp ; dbms_outpu

34、t.put_line(v_emp.empno| 11 111 v_emp.ename) ;end loop ;end;end;/begin pkg_persistcursor.displayemp ;end ;(14)在 emp 表上創(chuàng)建一個觸發(fā)器,保證修改員工工資時,修改后的工資低于 部門最高工資,同時高于該部門最低工資。答: create or replace package pkg_deptnoas v_deptno emp.deptno%type ;v_sal emp.sal%type ;end ; / ?create or replace trigger trg_updateemp

35、before update on emp for each row beginpkg_deptno.v_sal :=: new.sal ; pkg_deptno.v_deptno : =: new.deptno ; end ; /?create or replace trigger trg_statement after update on emp declare v_highsal emp.sal%type ; vjowsal emp.sal%type ; beginselect max(sal) 5min(sal) into v_highsal,v_lowsalfrom emp where deptno= pkg_deptno.v_deptno ;if pkg_deptno.v_sal>v_highsal or pkg_deptno.v_sal&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論