久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦)

時(shí)間:2019-05-13 22:18:58下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦)》。

第一篇:Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦)

一、判斷題,正確請(qǐng)寫(xiě)寫(xiě)“T”,錯(cuò)誤請(qǐng)寫(xiě)寫(xiě)“F”,1、oracle數(shù)據(jù)庫(kù)系統(tǒng)中,啟動(dòng)數(shù)據(jù)庫(kù)的第一步是啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)實(shí)例。(T)

2、Oracle服務(wù)器端的監(jiān)聽(tīng)程序是駐留在服務(wù)器上的單獨(dú)進(jìn)程,專門負(fù)責(zé)響應(yīng)客戶機(jī)的連接請(qǐng)求。(F)

3、oracle數(shù)據(jù)庫(kù)中實(shí)例和數(shù)據(jù)庫(kù)是一一對(duì)應(yīng)的(非ORACLE并行服務(wù),非集群)。(T)

4、系統(tǒng)全局區(qū)SGA 是針對(duì)某一服務(wù)器進(jìn)程而保留的內(nèi)存區(qū)域,它是不可以共享的。(F)

5、數(shù)據(jù)庫(kù)字典視圖ALL_***視圖只包含當(dāng)前用戶擁有的數(shù)據(jù)庫(kù)對(duì)象信息。(F)

8、數(shù)據(jù)字典中的內(nèi)容都被保存在SYSTEM表空間中。(T)

9、HAVING后面的條件中可以有聚集函數(shù),比如SUM(),AVG()等,WHERE 后面的條件中也可以有聚集函數(shù)。(F)

10、“上海西北京” 可以通過(guò)like ‘%上海_’查出來(lái)。(F)

11、表空間是oracle 最大的邏輯組成部分。Oracle數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)表空間組成。一個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成,但一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間。(T)

12、表空間分為永久表空間和臨時(shí)表空間兩種類型。(T)

13、truncate是DDL操作,不能 rollback。(T)

14、如果需要向表中插入一批已經(jīng)存在的數(shù)據(jù),可以在INSERT語(yǔ)句中使用WHERE語(yǔ)句。(F)

15、Oracle數(shù)據(jù)庫(kù)中字符串和日期必須使用雙引號(hào)標(biāo)識(shí)。(F)

16、Oracle數(shù)據(jù)庫(kù)中字符串?dāng)?shù)據(jù)是區(qū)分大小寫(xiě)的。(T)

17、Oracle數(shù)據(jù)庫(kù)中可以對(duì)約束進(jìn)行禁用,禁用約束可以在執(zhí)行一些特殊操作時(shí)候保證操作能正常進(jìn)行。(F)

18、為了節(jié)省存儲(chǔ)空間,定義表時(shí)應(yīng)該將可能包含NULL值的字段放在字段列表的末尾。(T)

20、在連接操作中,如果左表和右表中不滿足連接條件的數(shù)據(jù)都出現(xiàn)在結(jié)果中,那么這種連接是全外連接。(T)

21、自然連接是根據(jù)兩個(gè)表中同名的列而進(jìn)行連接的,當(dāng)列不同名時(shí),自然連接將失去意義。(T)

23、PL/SQL代碼塊聲明區(qū)可有可無(wú)。(T)

24、隱式游標(biāo)與顯式游標(biāo)的不同在于顯式游標(biāo)僅僅訪問(wèn)一行,隱式的可以訪問(wèn)多行。(F)

25、隱式游標(biāo)由PL/SQL維護(hù),當(dāng)執(zhí)行查詢時(shí)自動(dòng)打開(kāi)和關(guān)閉。(T)

26、顯式游標(biāo)在程序中顯式定義、打開(kāi)、關(guān)閉,游標(biāo)有一個(gè)名字。(T)

27、隱式游標(biāo)的游標(biāo)屬性前綴是SQL。(T)

28、顯式游標(biāo)的游標(biāo)屬性的前綴是游標(biāo)名。(T)

29、隱式游標(biāo)的屬性%ISOPEN總是為FALSE。(T)30、顯式游標(biāo)的%ISOPEN根據(jù)游標(biāo)的狀態(tài)確定值(F)

31、隱式游標(biāo)的SELECT語(yǔ)句帶有INTO子串,只有一行數(shù)據(jù)被處理。(T)

32、顯式游標(biāo)可以處理多行數(shù)據(jù),在程序中設(shè)置循環(huán),取出每一行數(shù)據(jù)。(T)

34、可以在PL/SQL中使用GOTO語(yǔ)句使運(yùn)行流程進(jìn)行跳轉(zhuǎn)。(F)

35、因?yàn)榇鎯?chǔ)過(guò)程不返回值,使用時(shí)只能單獨(dú)調(diào)用;而函數(shù)卻能出現(xiàn)在能放置表達(dá)式的任何位置。(Y)

36、存儲(chǔ)過(guò)程是已經(jīng)編譯好的代碼,在調(diào)用的時(shí)候不必再次編譯,提高了程序的運(yùn)行效率。(T)

38、Oracle提供了多種類型的表,包括堆表、外部表、索引組織表、臨時(shí)表、對(duì)象表等。(F)

39、為了使用戶在大量數(shù)據(jù)的讀寫(xiě)操作和查詢操作中速度更快,可以使用分區(qū)表技術(shù)。(T)

40、在Oracle中,索引技術(shù)使用了ROWID來(lái)進(jìn)行數(shù)據(jù)的快速定位。(T)

41、Oracle中,索引可以分為B樹(shù)索引和位圖索引,默認(rèn)使用的是位圖索引。(F)

42、Oracle建議,當(dāng)一個(gè)列的所有取值數(shù)量與行的總數(shù)的比例小于1%時(shí),該列不再適合使用位圖索引,而適用于B樹(shù)索引。(F)

43、同義詞的作用是實(shí)現(xiàn)復(fù)雜的功能。(N)

44、視圖是由一個(gè)或若干基表產(chǎn)生的數(shù)據(jù)集合,但視圖不占存儲(chǔ)空間。建立視圖可以保護(hù)數(shù)據(jù)安全(僅讓用戶查詢修改可以看見(jiàn)的一些行列)、簡(jiǎn)化查詢操作、保護(hù)數(shù)據(jù)的獨(dú)立性。(T)

45、普通視圖占有數(shù)據(jù)庫(kù)存儲(chǔ)空間。(F)

46、產(chǎn)生不重復(fù)整數(shù)的數(shù)據(jù)庫(kù)應(yīng)用的最好解決辦法,就是使用序列,尤其在多用戶環(huán)境下更是如此。(T)

47、行級(jí)觸發(fā)器:無(wú)論受影響的行數(shù)是多少,都只執(zhí)行一次。(F)

48、語(yǔ)句級(jí)觸發(fā)器在每個(gè)數(shù)據(jù)修改語(yǔ)句執(zhí)行后只調(diào)用一次,而不管該操作將影響到多少行。(T)

49、鎖用于提供數(shù)據(jù)的完整性和一致性。(T)50、事務(wù)的結(jié)束只能是rollback或者commit。(F)

51、oracle CONNECT角色具有所有的權(quán)限。(F)

52、數(shù)據(jù)字典DBA_ROLES記錄了數(shù)據(jù)庫(kù)中全部角色的信息。(F)

53、CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE都是系統(tǒng)預(yù)定義的角色。(T)

54、DBA角色具有全部系統(tǒng)特權(quán)。(T)

55、ORACLE對(duì)象特權(quán)指用戶在指定的表上進(jìn)行特殊操作的權(quán)利。這些特殊操作包括增、刪、改、查看、執(zhí)行(存儲(chǔ)過(guò)程)、引用(其它表字段作為外鍵)、索引等。(T)

56、一般情況下,可使用同義詞來(lái)保護(hù)系統(tǒng)中真實(shí)的表名稱,用角色簡(jiǎn)化授權(quán),創(chuàng)建數(shù)據(jù)操縱用戶來(lái)隱藏?cái)?shù)據(jù)的真正擁有者,以此達(dá)到保護(hù)數(shù)據(jù)安全的目的。(T)

57、每一個(gè)數(shù)據(jù)庫(kù)用戶必須具有RESOURCE特權(quán)才能登錄到Oracle數(shù)據(jù)庫(kù)中,ESOURCE特權(quán)用戶是權(quán)限最低的用戶。(F)

58、Oracle數(shù)據(jù)庫(kù)的邏輯存儲(chǔ)結(jié)構(gòu)主要由表空間構(gòu)成。(T)

59、Oracle數(shù)據(jù)庫(kù)的表空間內(nèi)存儲(chǔ)的邏輯對(duì)象為段,段由盤(pán)區(qū)組成,而盤(pán)區(qū)又由多個(gè)數(shù)據(jù)塊組成。(T)

60、數(shù)據(jù)備份可以全庫(kù)備份,也可以對(duì)單個(gè)表進(jìn)行備份。(T)

五、單項(xiàng)選擇題

1、安裝oracle數(shù)據(jù)庫(kù)過(guò)程中SID指的是什么:(A)A.系統(tǒng)標(biāo)識(shí)號(hào)

B.數(shù)據(jù)庫(kù)名

C.用戶名

D.用戶口令

2、系統(tǒng)中有權(quán)利啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)的用戶是:(C)。A.hr

B.user

C.system

D.scott

3、下面哪個(gè)用戶不是ORACLE缺省安裝后就存在的用戶(A)A.SYSDBA B.SYSTEM C.SCOTT D.SYS

4、下面哪個(gè)操作會(huì)導(dǎo)致用戶連接到ORACLE數(shù)據(jù)庫(kù),但不能創(chuàng)建表(A)A.授予了CONNECT的角色,但沒(méi)有授予RESOURCE的角色 B.沒(méi)有授予用戶系統(tǒng)管理員的角色 C.數(shù)據(jù)庫(kù)實(shí)例沒(méi)有啟動(dòng) D.數(shù)據(jù)庫(kù)監(jiān)聽(tīng)沒(méi)有啟動(dòng)

5、關(guān)閉數(shù)據(jù)庫(kù),那種是等待所有用戶退出才關(guān)閉的。(D)A.shutdown immediate B.shutdown abort

C.shutdown transactional

D.shutdown normal

SHUTDOWN NORMAL:不允許新的連接、等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

SHUTDOWN TRANSACTIONAL:不允許新的連接、不等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

SHUTDOWN IMMEDIATE:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。沒(méi)有結(jié)束的事務(wù)是自動(dòng)rollback的。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。

SHUTDOWN ABORT:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、不做檢查點(diǎn)且沒(méi)有關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)自動(dòng)進(jìn)行實(shí)例恢復(fù)。

6、下列關(guān)于共享服務(wù)器模式的敘述哪一項(xiàng)不正確(A)A.在共享服務(wù)器操作模式下,每一個(gè)用戶進(jìn)程必須對(duì)應(yīng)一個(gè)服務(wù)器進(jìn)程 B.一個(gè)數(shù)據(jù)庫(kù)實(shí)例可以啟動(dòng)多個(gè)調(diào)度進(jìn)程 C.在共享服務(wù)器操作模式下,Oracle實(shí)例將啟動(dòng)進(jìn)程Dnnn為用戶進(jìn)程分配服務(wù)進(jìn)程

D.共享服務(wù)器操作模式可以實(shí)現(xiàn)少量服務(wù)器進(jìn)程為大量用戶進(jìn)程提供服務(wù)

7、oracle邏輯存儲(chǔ)結(jié)構(gòu)正確的是(B)

A.tablespace--segment--osblock--block

B.tablespace--segment--extent--block

表空間-段-盤(pán)區(qū)-數(shù)據(jù)塊

C.tablespace--extent--segment--block

D.tablespace--extent--block –segment

8、以下哪個(gè)不是數(shù)據(jù)庫(kù)的物理組件(A)。A.表空間 B.數(shù)據(jù)文件

C.日志文件

D.控制文件

參數(shù)文件

9、下列不屬于ORACLE的邏輯結(jié)構(gòu)的是(C)A.區(qū) B.段

C.數(shù)據(jù)文件 D.表空間

10、有一產(chǎn)品表(編號(hào),名稱,價(jià)格,數(shù)量,所屬分類),下列語(yǔ)法不正確的是(D)A、select * from 產(chǎn)品表 where價(jià)格>1000 B、select sum(價(jià)格)from 產(chǎn)品表 group by 所屬分類

having max(價(jià)格)>1000 C、select所屬分類,sum(價(jià)格)from 產(chǎn)品表 where 價(jià)格>1000 group by 所屬分類 D、select所屬分類,sum(價(jià)格)from 產(chǎn)品表 where max(價(jià)格)>1000 group by 所屬分類

11、在emp表中查找名字以G開(kāi)頭的SQL語(yǔ)句是:(A)。A.SELECT ename, hiredate

FROM

emp

WHERE ename like 'G%';B.SELECT last_name, hiredate

FROM

emp

WHERE ename == 'G%';C.SELECT last_name, hiredate

FROM

emp

WHERE ename in 'G%';D.SELECT ename, hiredate

FROM

emp

WHERE ename like 'G___';

12、查看表結(jié)構(gòu)的命令是(A)。

A.select

B.create

C.describe

D.tiger

13、下面的語(yǔ)句是可以顯示(D)。SELECT ename, sal, comm, 12*sal

FROM emp;

A.雇員編號(hào)

B.崗位

C.上級(jí)主管

D.年薪

14、能夠統(tǒng)計(jì)表中記錄行數(shù)的函數(shù)是(A)。A.COUNT B.TO_NUMBER C.AVG D.SUBSTR

15、能夠統(tǒng)計(jì)表中計(jì)算平均值的函數(shù)是(C)。A.COUNT B.TO_NUMBER C.AVG D.SUBSTR

16、以下語(yǔ)句中可以正確查看服務(wù)器時(shí)間的sql語(yǔ)句是:(A)A.select sysdate from dual;

B.select systemdate from dual;C.select current_date from dual;

D.以上說(shuō)法均不正確。

17、查看系統(tǒng)日期,要使用(D)。

A.實(shí)體化視圖

B.表

C.序列

D.偽表Dual

18、在SQLPLUS中,執(zhí)行外部腳本所用的命令是(B)。A./

B.@腳本

C.EXE 腳本

D.不能在SQLPLUS中直接運(yùn)行腳本

19、在建表時(shí)如果希望某列的值,在一定的范圍內(nèi),應(yīng)建什么樣的約束?(C)

A.primary key B.unique C.check D.not null

20、在Oracle中,一個(gè)用戶擁有的所有數(shù)據(jù)庫(kù)對(duì)象統(tǒng)稱為(B)A.數(shù)據(jù)庫(kù)

B.模式

C.表空間

D.實(shí)例

21、在 Oracle 中創(chuàng)建用戶時(shí),若未提及 DEFAULT TABLESPACE 關(guān)鍵字,則 Oracle 就將(D)表空間分配給用戶作為默認(rèn)表空間。A.USER

B.SYS

C.DEFAULT

D.SYSTEM

22、從雇員表emp中選取所有列創(chuàng)建一個(gè)備份表emp_old的語(yǔ)句是(A.CREATE TABLE emp_old

AS SELECT * FROM emp_old;B.BACKUP TABLE emp_old

LIKE SELECT * FROM emp;C.ALTER TABLE emp_old

SELECT * FROM emp;D.CREATE TABLE emp_old

AS SELECT * FROM emp;

23、下列不屬于Oracle數(shù)據(jù)庫(kù)中的約束條件的是(C)。A.NOT NULL B.Unique C.INDEX D.Primary key

24、下列哪種不是DML語(yǔ)句是(C)。A.insert B.alter C.update D.delete

25、下列哪種不是DDL語(yǔ)句。(D)A.alter B.create

C.drop

D.commit

26、下列不建議使用的常用標(biāo)量數(shù)據(jù)類型是。(D)A.Varchar2 B.Date

C.Char

D.Blob

27、下列建議使用的常用標(biāo)量數(shù)據(jù)類型是。(A)A.Varchar2 B.Long

C.Char

D.Long raw

28、oracle數(shù)據(jù)庫(kù)中,通過(guò)(C)可以以最快的方式訪問(wèn)表中的一行。A.主鍵

B.唯一索引

C.rowid

D.全表掃描

29、關(guān)于模式的描述下列哪一項(xiàng)不正確?(C)A.表或索引等模式對(duì)象一定屬于某一個(gè)模式

B.在Oracle數(shù)據(jù)庫(kù)中,模式與數(shù)據(jù)庫(kù)用戶是一一對(duì)應(yīng)的 C.一個(gè)表可以屬于多個(gè)模式

D)。

D.一個(gè)模式可以擁有多個(gè)表

30、某用戶需要?jiǎng)?chuàng)建一個(gè)很小的表,但是該表會(huì)被許多查詢使用,這時(shí)用戶應(yīng)當(dāng)在創(chuàng)建該表時(shí)指定下列哪個(gè)子句?(B)A.PCTFREE和PCTUSED B.CACHE C.NOLOGGING D.TABLESPACE

31、在Oracle中,(B)操作符返回并集操作并不包括重復(fù)行。

A.Intersect

B.Union

C.Union all

D.Minus

32、在Oracle中,以下是STUDENTS表的結(jié)構(gòu):

SID NUMBER NOT NULL,Primary Key

SNAME VARCHAR2(30)

COURSE_ID VARCHAR2(10)NOT NULL

MARKS NUMBER 你需要查詢參加了課程ID為C10的考試,并且分?jǐn)?shù)排在前10名的學(xué)生,以下(D)語(yǔ)句能夠?qū)崿F(xiàn)此功能。

A.SELECT SID,marks,ROWNUM “Rank” FORM students WHERE ROWNUM<=10 AND course_id='C10' ORDER BY marks DESC;

B.SELECT SID,marks,ROWNUM“Rank” FORM students WHERE ROWNUM<=10 AND course_id='C10' ORDER BY marks;C.SELECT SID,marks,ROWNUM“Rank” FORM(SELECT SID ,marks FORM students WHERE ROWNUM<=10 AND course_id='C10')ORDER BY marks DESC;D.SELECT SID,marks,ROWNUM“Rank” FORM(SELECT SID ,marks FORM students WHERE course_id='C10' ORDER BY marks DESC)WHERE ROWNUM<=10;

33、下面那個(gè)不是oracle程序設(shè)計(jì)中的循環(huán)語(yǔ)句(A)A.for… end for

B.loop…end loop

C.while…end loop

D.for… end loop

34、Select語(yǔ)句中用來(lái)連接字符串的符號(hào)是(C)。

A.“+”

B.“&”

C.“||”

D.“|”

35、以下PL/SQL語(yǔ)句塊執(zhí)行的結(jié)果是(D)set serveroutput on;declare

var1 number:= 10;begin

loop

exit when var1 > 12;

var1:= var1 +1;

DBMS_OUTPUT.PUT_LINE('a');

end loop;end;A.無(wú)輸出 B.a C.a

a D.a

a

a

36、在Oracle中,當(dāng)FETCH語(yǔ)句從游標(biāo)獲得數(shù)據(jù)時(shí),下面敘述正確的是(A.游標(biāo)打開(kāi) B.游標(biāo)關(guān)閉

C.當(dāng)前記錄的數(shù)據(jù)加載到變量中 D.創(chuàng)建變量保存當(dāng)前記錄的數(shù)據(jù)

37、在Oracle中,不屬于游標(biāo)屬性的是(B)。A.%NOTFOUND B.%FOUND C.%ISCLOSE D.%ISOPEN

38、在Oracle中,下列哪個(gè)語(yǔ)句允許檢查UPDATE語(yǔ)句所影響的行數(shù)?(A.SQL%NOTFOUND B.SQL %FOUND C.SQL %ROWCOUNT D.SQL %COUNT

39、在Oracle中,關(guān)于子程序的描述不正確的是(C)。

A.子程序是已命名的PL/SQL塊,可帶參數(shù)并可在需要時(shí)隨時(shí)調(diào)用 B.子程序可以具有聲明部分、可執(zhí)行部分和異常處理部分

C)。C)。

C.子程序參數(shù)的模式只有IN和OUT兩種模式 D.子程序可分為過(guò)程和函數(shù)兩種類型

40、如果在程序包的主體中包括了一個(gè)過(guò)程,但沒(méi)有在程序包規(guī)范中聲明這個(gè)過(guò)程,那么它將會(huì)被認(rèn)為是(D)。

A.非法的 B.公有的 C.受限的 D.私有的

41、在Oracle中,用下列語(yǔ)句定義了一個(gè)過(guò)程:

CREATE PROCEDURE proc(value1 IN VARCHAR2, value2 OUT NUMBER, value3 IN OUT VARCHAR2)IS BEGIN ? END;假定使用的變量v1/v2/v3都已經(jīng)定義,下面對(duì)過(guò)程proc的調(diào)用語(yǔ)法正確的是(B)。

A.proc('tt', 10, v3)B.proc('tt', v2, v3)C.proc(v1, v2, ?dd?)D.proc('tt', 10,'dd')

42、在oracle中獲取前10條的關(guān)鍵字是(D)A.top

B)Limit

C)first

D.rownum

43、一個(gè)表有百萬(wàn)以上數(shù)據(jù),其中一個(gè)列經(jīng)常被作為查詢條件并且只有25個(gè)不同數(shù)據(jù),適合使用(C)索引提高查詢速度。

A.B-Tree

B.反向

C.位圖

D.函數(shù)索引

44、查看下面的語(yǔ)句創(chuàng)建了哪一種索引?(C)CREATE INDEX test_index ON student(stuno, sname)TABLESPACE users STORAGE(initial 64k, next 32k);A.全局分區(qū)索引 B.位圖索引 C.復(fù)合索引

D.基于函數(shù)的索引

45、使用ALTER INDEX … … REBUILD語(yǔ)句不可以執(zhí)行下面的哪個(gè)任務(wù)?(C)

A.將反向鍵索引重建為普通索引 B.將一個(gè)索引移動(dòng)到另一個(gè)表空間 C.將位圖索引更改為普通索引

D.將一個(gè)索引分區(qū)移動(dòng)到另一個(gè)表空間

46、下面那個(gè)語(yǔ)句是錯(cuò)誤的(D)

A.create synonym dept_synon for scott.dept B.create sequence dept_seque increment by 1 C.alter sequence dept_seque increment by 2 D.drop dept_synon

47、下列不屬于偽列的是(A)。

A.ENAME B.CURRVAL

C.NEXTVAL

D.ROWID

48、同義詞的作用是(A)。

A.多用戶協(xié)同開(kāi)發(fā)中,可以屏蔽對(duì)象的名字及其持有者 B.加快速度

C.實(shí)現(xiàn)復(fù)雜功能

D.可以順序增長(zhǎng)

49、關(guān)于觸發(fā)器,下列說(shuō)法正確的是(B)A、可以在表上創(chuàng)建INSTEAD OF 觸發(fā)器

B、語(yǔ)句級(jí)觸發(fā)器不能使用“:old”和“:new” C、行級(jí)觸發(fā)器不能用于審計(jì)功能 D、觸發(fā)器可以顯式調(diào)用

50、在Oracle中,關(guān)于觸發(fā)器的描述正確的是(C)。A.觸發(fā)器可以刪除,但不能禁用 B.觸發(fā)器只能用于表

C.觸發(fā)器可以分為行級(jí)和語(yǔ)句級(jí)兩種

D.觸發(fā)器是一個(gè)對(duì)關(guān)聯(lián)表發(fā)出insert、update、delete或select ? for update語(yǔ)句時(shí)觸發(fā)的存儲(chǔ)過(guò)程

51、在Oracle中,INSTEAD OF觸發(fā)器主要用于(D)。A.表

B.表和視圖

C.基于單個(gè)表的視圖 D.基于多個(gè)表的視圖

52、下列關(guān)于提交事務(wù)的敘述哪一項(xiàng)是正確的?(A)

A.事務(wù)提交后,它對(duì)數(shù)據(jù)庫(kù)所做的修改將永久保存到數(shù)據(jù)庫(kù)中 B.事務(wù)提交后,還可以使用回滾語(yǔ)句取消它所做的操作 C.提交事務(wù)的響應(yīng)速度與事務(wù)的規(guī)模有關(guān)

D.提交事務(wù)并不意味著事務(wù)的結(jié)束,它只是對(duì)事務(wù)以前所做的工作進(jìn)行保存而已

53、下列關(guān)于Oracle支持的鎖粒度描述正確的是?(A)A.數(shù)據(jù)庫(kù)級(jí)、表級(jí)、行級(jí)、列級(jí) B.數(shù)據(jù)庫(kù)級(jí)、表級(jí)、行級(jí) C.行級(jí)、列級(jí) D.列級(jí)、表級(jí)

54、下列哪一個(gè)鎖模式不屬于Oracle ?(D)A.共享鎖 B.排它鎖 C.行級(jí)共享鎖 D.死鎖

55、授予sa用戶在SCOTT.EMP表中SAL列的更新權(quán)限的語(yǔ)句是:(B)A.GRANT

CHANGE

ON

SCOTT.EMP

TO

SA B.GRANT

UPDATE

ON

SCOTT.EMP(SAL)

TO

SA C.GRANT

UPDATE(SAL)

ON

SCOTT.EMP

TO

SA D.GRANT

MODIFY

ON

SCOTT.EMP

TO

SA

56、假設(shè)用戶USER1的默認(rèn)表空間為USERS,他在該表空間的配額為10MB,則USER1在USERS表空間創(chuàng)建基本表時(shí),他應(yīng)具有什么權(quán)限?(D)A.CREATE TABLE B.CREATE USER C.UNLIMITED TABLESPACE D.LIMITED TABLESPACE

57、想在另一個(gè)模式中創(chuàng)建表,用戶最少應(yīng)該具有什么系統(tǒng)權(quán)限?(C)A、CREATE TABLE

B、CREATE ANY TABLE C、RESOURCE

D、DBA

58、下列哪一項(xiàng)資源不能在用戶配置文件中限定?(A)A.各個(gè)會(huì)話的用戶數(shù) B.登錄失敗的次數(shù) C.使用CPU時(shí)間

D.使用SGA區(qū)的大小

59、下面哪個(gè)系統(tǒng)預(yù)定義角色允許一個(gè)用戶創(chuàng)建其他用戶?(B)A、CONNECT

B、DBA

C、RESOURCE

D、SYSDBA

60、在創(chuàng)建表空間時(shí),可以指定表空間中存儲(chǔ)對(duì)象的默認(rèn)存儲(chǔ)參數(shù),其中()參數(shù)用于設(shè)置分配給每一個(gè)對(duì)象的初始區(qū)大小。(A)A.INITIAL B.NEXT C.PCTINCREASE D.MINEXTENTS

61、把一個(gè)表空間切換到OFFLINE狀態(tài)時(shí),可以使用4個(gè)參數(shù),不包括下列哪一個(gè)選項(xiàng)?(D)A.IMMEDIATE B.NORMAL C.TEMPORARY D.FORCE

FOR RECOVERY 62、建立一張表插入1行記錄,之后使用exp導(dǎo)出數(shù)據(jù),再次給表插入2行數(shù)據(jù),之后把表格刪除,重新使用imp命令導(dǎo)入導(dǎo)出的數(shù)據(jù),導(dǎo)入后表中有(B)條記錄。

A.0

B.1

C.2

D.3

將數(shù)據(jù)庫(kù)啟動(dòng)到裝載狀態(tài)的命令(C)

A: startup

B: startup nomount

C: startup mount

D: startup open

使用shutdown命令關(guān)閉數(shù)據(jù)庫(kù),發(fā)生的次序是(B)A: 先關(guān)閉實(shí)例進(jìn)程

B: 先關(guān)閉數(shù)據(jù)庫(kù)

C: 先卸載數(shù)據(jù)庫(kù)

D: 沒(méi)有先后次序

執(zhí)行shutdown transactional命令,下列正確的是(D)A: 數(shù)據(jù)庫(kù)仍然允許新的用戶連接

B: 數(shù)據(jù)庫(kù)馬上關(guān)閉

C: 等待當(dāng)前所有會(huì)話結(jié)束后關(guān)閉

D: 如果沒(méi)有執(zhí)行中的數(shù)據(jù)庫(kù)事物,即馬上關(guān)閉

服務(wù)器斷電,發(fā)生的現(xiàn)象是哪一個(gè)?(B)A: 數(shù)據(jù)緩沖區(qū)的修改寫(xiě)入數(shù)據(jù)庫(kù)

B: 沒(méi)有提交的事物自動(dòng)撤銷

C: 數(shù)據(jù)文件、控制文件和日志文件處于不一致?tīng)顟B(tài)

D: 下次啟動(dòng),需要進(jìn)行手工恢復(fù)

67用戶SCOTT正在執(zhí)行UPDATE語(yǔ)句,需要保證SCOTT的修改操作完成,理想的關(guān)閉實(shí)例方式是(D)

A: SHUTDOWN ABORT

B: SHUTDOWN IMMEDIATE C: SHUTDOWN TRANSACTIONAL

D: SHUTDOWN NORMAL

68.以下創(chuàng)建表空間的正確語(yǔ)句是:(D)

A.CREATE TABLESPACE “TABLESPACENAME”

LOGGING

DATAFILE '/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf' SIZE 5M B.CREATE TABLESPACE “EVCHGJ4”

LOGGING

DATAFILE '/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf' C.CREATE TABLESPACE “EVCHGJ4”

LOGGING

SIZE 5M D.CREATE TABLESPACE “EVCHGJ4”

DATAFILE '/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf' SIZE 5M

69.傳統(tǒng)的Oracle數(shù)據(jù)庫(kù)系統(tǒng)特權(quán)不包括。(C)A.DROP B.CONNECT C.RESOURCE

D.SELECT ANY TABLE

70.下列哪個(gè)語(yǔ)句能夠會(huì)滾到特定地方。(D)A.UPDATE...SAVEPOINT update_done;Savepoint created.INSERT...ROLLBACK TO update_done;B.commit C.commit to update_done;

D.rollback;

六、多項(xiàng)選擇題

1、Oracle內(nèi)存結(jié)構(gòu)可以分為(BC)A)備份區(qū) B)程序全局區(qū) C)系統(tǒng)全局區(qū) D)還原區(qū) E)調(diào)度區(qū)

3、以下關(guān)于歸檔日志的說(shuō)法正確的是(ABC)

A)ORACLE要將填滿的在線日志文件組歸檔時(shí),則要建立歸檔日志

B)在操作系統(tǒng)或磁盤(pán)故障中可保證全部提交的事務(wù)可被恢復(fù)

C)數(shù)據(jù)庫(kù)可運(yùn)行在兩種不同方式下:非歸檔模式和歸檔模式

D)數(shù)據(jù)庫(kù)在ARCHIVELOG方式下使用時(shí),不能進(jìn)行在線日志的歸檔

4、在oracle環(huán)境下,以下說(shuō)法中正確的是:(ABC)

A.<> 表示不等于

B._ 代表一個(gè)字符

C.% 代表0個(gè)或者多個(gè)字符 D.* 代表0個(gè)或者多個(gè)字符。

5、在下面有關(guān)子查詢ANY運(yùn)算符的描述中,哪一項(xiàng)是正確的?(BC)A)any表示大于最小值 D)都不對(duì)

7、請(qǐng)選擇以下那幾項(xiàng)是oracle客戶端的鏈接工具:(ABC)

A)IE瀏覽器

B)SQL*PLUS

C)PLSQL Developer

D)以上答案均不對(duì)

8、ORACLE常用的約束條件類型(ABCD)A)PRIMARY B)FOREIGN C)UNIQUE D)CHECK

9、在oracle環(huán)境下,需要?jiǎng)?chuàng)建表空間,當(dāng)數(shù)據(jù)超過(guò)表空間大小時(shí),要對(duì)表空間進(jìn)行擴(kuò)充,以下選項(xiàng)中擴(kuò)充方式正確的有:(ABC)A、添加數(shù)據(jù)文件

B、改變數(shù)據(jù)文件的大小

C、允許數(shù)據(jù)文件自動(dòng)擴(kuò)展

D、表空間不能再用重新創(chuàng)建表空間。

10、表命名時(shí)需要遵循的規(guī)則中選擇正確的是:(ABCD)A、表明的首字符應(yīng)該為字母 B、不能使用保留字

C、可以使用下劃線、數(shù)字、字母、但不能使用空格和單引號(hào)。D、同一用戶下表名不能重復(fù)。

11、在Oracle中,PL/SQL塊中定義了一個(gè)帶參數(shù)的游標(biāo): CURSOR emp_cursor(dnum NUMBER)IS SELECT sal,comm FORM emp WHERE deptno=dnum;那么正確打開(kāi)此游標(biāo)的語(yǔ)句是(AD)。A.OPEN emp_cursor(20);B.OPEN emp_cursor FOR 20;C.OPEN emp_cursor USING 20;D.FOR rmp_rec IN emp_cursor(20)LOOP...END LOOP;

12、下列關(guān)于約束和索引的說(shuō)法中,正確的是(ABC)。

A.在字段上定義PRIMARY KEY約束時(shí)會(huì)自動(dòng)創(chuàng)建B樹(shù)唯一索引 B.在字段上定義UNIQUE約束時(shí)會(huì)自動(dòng)創(chuàng)建一個(gè)B樹(shù)唯一索引

C.默認(rèn)情況下,禁用約束會(huì)刪除對(duì)應(yīng)的索引,而激活約束會(huì)自動(dòng)重建相應(yīng)的索引

D.定義FOREIGN KEY約束時(shí)會(huì)創(chuàng)建一個(gè)B樹(shù)唯一索引

七、綜合題(共7小題,每題3分,共21分)將答案填寫(xiě)在“答案.xls”對(duì)應(yīng)空格上。

1.在oracle環(huán)境下,需要?jiǎng)?chuàng)建表空間,當(dāng)數(shù)據(jù)超過(guò)表空間大小時(shí),要對(duì)表空間進(jìn)行擴(kuò)充,請(qǐng)說(shuō)出三種擴(kuò)展方式。

當(dāng)數(shù)據(jù)超過(guò)表空間大小時(shí),要對(duì)表空間進(jìn)行擴(kuò)充。擴(kuò)充有三種方式:

(1)添加數(shù)據(jù)文件

(2)改變數(shù)據(jù)文件大小

(3)允許數(shù)據(jù)文件自動(dòng)擴(kuò)展

(1)添加數(shù)據(jù)文件

--為test表空間添加一個(gè)3M的數(shù)據(jù)文件

alter tablespace test add datafile 'c:temptest1.dbf' size 2048k;(2)改變數(shù)據(jù)文件大小

--為test表空間的數(shù)據(jù)文件增加4M alter database datafile 'c:temptest.dbf' resize 4096k;(3)允許數(shù)據(jù)文件自動(dòng)擴(kuò)展

--為test表空間的數(shù)據(jù)文件設(shè)置為自動(dòng)增加

alter database datafile 'c:temptest.dbf' autoextend on next 1m maxsize 20m;

第二篇:Oracle數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告

中南林業(yè)科技大學(xué)

實(shí)驗(yàn)報(bào)告

課程名稱:

Oracle數(shù)據(jù)庫(kù) 專業(yè)班級(jí): 姓名:

學(xué)號(hào):

****年**月**日

實(shí)驗(yàn)一

安裝和使用Oracle數(shù)據(jù)庫(kù)

【實(shí)驗(yàn)?zāi)康摹?/p>

1.掌握Oracle軟件安裝過(guò)程,選擇安裝組件 2.掌握建立Oracle數(shù)據(jù)庫(kù),配置網(wǎng)絡(luò)連接 3.掌握Oracle企業(yè)管理器的基本操作 4.使用SQL*Plus,登錄到實(shí)例和數(shù)據(jù)庫(kù) 5.掌握命令方式的關(guān)閉和啟動(dòng)實(shí)例及數(shù)據(jù)庫(kù) 【實(shí)驗(yàn)內(nèi)容】

1.查看已安裝的Oracle組件

2.查看服務(wù),記錄下和數(shù)據(jù)庫(kù)有關(guān)的服務(wù)名,將他們?cè)O(shè)為手動(dòng)方式,啟動(dòng)相關(guān)服務(wù)。

3.配置監(jiān)聽(tīng)器,查看是否在服務(wù)中有LISTENER,是否能啟動(dòng)。4.配置本地net服務(wù),提示:設(shè)置正確的服務(wù)器地址和端口號(hào)。5.打開(kāi)SQL*Plus,用SYS和SYSTEM用戶名和密碼登錄。6.思考題:有幾種打開(kāi)SQL*Plus的方法?分別是什么? 7.用命令關(guān)閉實(shí)例和數(shù)據(jù)庫(kù),記錄命令

8.用命令以NOMOUNT的方式啟動(dòng)實(shí)例,再加載數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)。

【實(shí)驗(yàn)結(jié)論】

1.查看已安裝的Oracle組件

2.查看服務(wù),記錄下和數(shù)據(jù)庫(kù)有關(guān)的服務(wù)名,將他們?cè)O(shè)為手動(dòng)方式,啟動(dòng)相關(guān)服務(wù)。

3.配置監(jiān)聽(tīng)器,查看是否在服務(wù)中有LISTENER,是否能啟動(dòng)。

4.配置本地net服務(wù),提示:設(shè)置正確的服務(wù)器地址和端口號(hào)。

5.打開(kāi)SQL*Plus,用SYS和SYSTEM用戶名和密碼登錄。

6.思考題:有幾種打開(kāi)SQL*Plus的方法?分別是什么?(1)直接打開(kāi) sql plus 即窗口方式(2)cmd 命令行方式

(3)WEB 頁(yè)面中 iSQL*Plus 方式 7.用命令關(guān)閉實(shí)例和數(shù)據(jù)庫(kù),記錄命令 SQL>shutdown immediate

8.用命令以NOMOUNT的方式啟動(dòng)實(shí)例,再加載數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)。

sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup

(1).用SQLplus 命令:show parameters參數(shù)名

(2).用select [列名] from 表名

2.初始化文件有幾種?默認(rèn)的保存位置在哪里?

初始化文件有三種:數(shù)據(jù)文件,日志文件,控制文件; 默認(rèn)的保存位置E:oracleproduct10.2.0oradataorcl

4.打開(kāi)OEM,查看三類物理文件信息

三類物理文件:數(shù)據(jù)文件、控制文件、日志文件 數(shù)據(jù)文件:.DBF存儲(chǔ)表、索引及數(shù)據(jù)結(jié)構(gòu)信息

日志文件:.LOG記錄對(duì)數(shù)據(jù)庫(kù)的所有修改信息,用于恢復(fù)

控制文件:.CTL二進(jìn)制文件,記錄數(shù)據(jù)庫(kù)名、文件標(biāo)識(shí)、檢查點(diǎn)

5.分別用select命令查詢V$parameter動(dòng)態(tài)性能視圖,用show命令查看全局?jǐn)?shù)據(jù)庫(kù)名、實(shí)例名、是否啟動(dòng)自動(dòng)歸檔、標(biāo)準(zhǔn)數(shù)據(jù)塊大小這四個(gè)參數(shù)的值,記錄命令和結(jié)果。用select命令查詢V$parameter動(dòng)態(tài)性能視圖

用show命令查看全局?jǐn)?shù)據(jù)庫(kù)名、實(shí)例名

用show命令查看是否啟動(dòng)自動(dòng)歸檔、標(biāo)準(zhǔn)數(shù)據(jù)塊大小

6.如何用命令查看數(shù)據(jù)文件、控制文件的文件名、存儲(chǔ)位置和狀態(tài)信息?

(1).查看數(shù)據(jù)文件的文件名、存儲(chǔ)位置和狀態(tài)信息

(2).查看控制文件的文件名、存儲(chǔ)位置和狀態(tài)信息

0

和服務(wù)器型文件都要找到),查看各類默認(rèn)位置并記錄下來(lái)(包括物理文件所在目錄,該數(shù)據(jù)庫(kù)相關(guān)的各個(gè)目錄等),登錄到mydb數(shù)據(jù)庫(kù)。

2.用命令方式手工創(chuàng)建數(shù)據(jù)庫(kù)testorcl

(1)創(chuàng)建批處理文件,建立必需的各級(jí)目錄,參考第一題MYDB數(shù)據(jù)庫(kù)的默認(rèn)目錄。

(4)運(yùn)行數(shù)據(jù)庫(kù)建立腳本,更改相關(guān)服務(wù)為手動(dòng)啟動(dòng)方式

(5)運(yùn)行數(shù)據(jù)字典等創(chuàng)建腳本

3.在DBCA中刪除MYDB數(shù)據(jù)庫(kù)。

Enter valuefor 4:runner Specify log path as parameter 5: Enter valuefor 5: D:oracleproduct10.2.0db_2RDBMSlog

二、完成下面的查詢,記錄查詢命令和結(jié)果。1.查詢HR方案種有哪些表,列出表名 2.設(shè)置行寬為160,每頁(yè)行數(shù)為40 3.查詢employees表中所有薪水在3000到6000元之間的員工編號(hào)、姓、名、受聘日期、工作代號(hào)、薪水、經(jīng)理代號(hào)、部門號(hào),按部門號(hào)升序排列,同一部門按員工編號(hào)降序排列

4.查詢每個(gè)部門的人數(shù)、平均薪水、最高薪水、最低薪水,按部門編號(hào)升序排列

5.查詢first_name的第三個(gè)字母是t的員工編號(hào),first_name,電話號(hào)碼,部門編號(hào),部門名稱

6.在job_history表中查詢?nèi)温殨r(shí)間超過(guò)1年的員工編號(hào),任職歷時(shí)月份(保留整數(shù)),工作代號(hào),部門代號(hào)。

7.查詢每個(gè)部門經(jīng)理的員工編號(hào)、姓名、薪水、部門號(hào)。

【實(shí)驗(yàn)結(jié)論】

一、需要訪問(wèn)HR示例方案中的表,如果機(jī)器上沒(méi)有該示例方案,則運(yùn)行相關(guān)包和相應(yīng)配置裝入HR方案。

1.將hr.rar解壓到D:oracleproduct10.2.0db_2demoschema human_resources目錄下,然后在SQL*PLUS 中執(zhí)行 hr_main.sql

二、完成下面的查詢,記錄查詢命令和結(jié)果。1.查詢HR方案種有哪些表,列出表名

5.查詢first_name的第三個(gè)字母是t的員工編號(hào),first_name,電話號(hào)碼,部門編號(hào),部門名稱

738

實(shí)驗(yàn)五

PL/SQL編程

【實(shí)驗(yàn)?zāi)康摹?/p>

1.熟悉PL/SQL的數(shù)據(jù)類型和書(shū)寫(xiě)規(guī)則 2.熟悉控制結(jié)構(gòu)和游標(biāo)的使用 3.編寫(xiě)和運(yùn)行函數(shù)、過(guò)程和觸發(fā)器 【實(shí)驗(yàn)內(nèi)容】

編寫(xiě)腳本文件,調(diào)試運(yùn)行腳本文件,并記錄結(jié)果。

1.在SQL*Plus中編寫(xiě)一個(gè)PL/SQL塊,功能用于打印學(xué)生信息 在DECLARE部分完成:

(2)建立學(xué)生信息記錄類型stu_record_type,包括學(xué)號(hào),姓名,性別,籍貫,學(xué)習(xí)成績(jī)和活動(dòng)成績(jī)。均為可變長(zhǎng)字符類型(3)編寫(xiě)本地子過(guò)程:學(xué)生信息打印過(guò)程PrintStuRecord,把(1)中定義的記錄類型作為參數(shù)(4)定義學(xué)生信息記錄變量stu_record 在BEGIN…END部分完成:

(1)為stu_record變量的各個(gè)元素賦值如下: 學(xué)號(hào):‘2001001’ 姓名:’李新’

性別:‘m’

籍貫:‘黑龍江省哈爾濱市’ 學(xué)習(xí)成績(jī):‘Excellent’

0

(1)建立學(xué)生信息記錄類型stu_record_type,包括學(xué)號(hào),姓名,性別,籍貫,學(xué)習(xí)成績(jī)和活動(dòng)成績(jī)。均為可變長(zhǎng)字符類型

set serveroutput on declare type stu_record_type is record

(s_no varchar2(8), s_name varchar2(10), s_sex varchar2(2), s_address varchar2(20), s_studyscore varchar2(10), s_activescore varchar2(10));(2)編寫(xiě)本地子過(guò)程:學(xué)生信息打印過(guò)程PrintStuRecord,把中定義的記錄類型作為參數(shù)

procedure PrintStuRecord as begin dbms_output.put_line('學(xué)號(hào):'|| stu_record.s_no);dbms_output.put_line('姓名 :'|| stu_record.s_name);dbms_output.put_line('性別:'|| stu_record.s_sex);dbms_output.put_line('籍貫:'|| stu_record.s_address);dbms_output.put_line('學(xué)習(xí)成績(jī):'|| stu_record.s_studyscore);dbms_output.put_line('活動(dòng)成績(jī):'|| stu_record.s_activescore);end PrintStuRecord;(3)定義學(xué)生信息記錄變量stu_record stu_record stu_record_type;在BEGIN…END部分完成:

(4)為stu_record變量的各個(gè)元素賦值如下: 學(xué)號(hào):‘2001001’ 姓名:’李新’

性別:‘m’

籍貫:‘黑龍江省哈爾濱市’

2.建立對(duì)bookinfo表的DML觸發(fā)器,一旦bookinfo表發(fā)生了任何變化,立即觸發(fā),對(duì)bookinfo表的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),結(jié)果存儲(chǔ)在數(shù)據(jù)統(tǒng)計(jì)表中

(1)如果沒(méi)有則建立bookinfo表,選擇建立在scott用戶下,表結(jié)構(gòu)為(bookno varchar2(36)Primary key, bookname varchar2(40)not null, authorname varchar2(10)not null, publishtime date, bookprice float)

create table bookinfo(bookno varchar2(36)Primary key,4

Selectcount(bookno),count(distinct authorname)from bookinfo;end;/

(4)在bookinfo表中插入、刪除和更新信息,再查看major_stats表中數(shù)據(jù)的變化 <1>插入

647

實(shí)驗(yàn)六

模式對(duì)象管理與安全管理

【實(shí)驗(yàn)?zāi)康摹?/p>

1.了解模式對(duì)象的類型

2.掌握在OEM中操作模式對(duì)象的方法

3.掌握命令方式建立表、視圖、索引等常見(jiàn)對(duì)象的方法 4.熟悉Oracle中權(quán)限分類和設(shè)置,理解系統(tǒng)提供用戶的角色和權(quán)限

5.熟練使用建立用戶、角色,為用戶授權(quán)、授予角色的命令

【實(shí)驗(yàn)內(nèi)容】

1.創(chuàng)建一個(gè)TESTUSET用戶,密碼為test,默認(rèn)表空間為user表空間

2.創(chuàng)建用戶后為其授予登錄數(shù)據(jù)庫(kù)和創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的權(quán)限 3.用TESTUSER用戶登錄數(shù)據(jù)庫(kù)

4.創(chuàng)建學(xué)生信息表(學(xué)號(hào),姓名,性別,入學(xué)成績(jī)),定義主鍵和輸入數(shù)據(jù)(至少5條數(shù)據(jù)),提交添加的數(shù)據(jù)。并完成下面的題目:

(1)再繼續(xù)添加2條數(shù)據(jù),設(shè)置一個(gè)保存點(diǎn)savepoint,再添加1條數(shù)據(jù),執(zhí)行回退到保存點(diǎn)的回退命令。查看此時(shí)表中數(shù)據(jù)(2)查詢?nèi)雽W(xué)成績(jī)大于480的學(xué)生信息(3)建立男生信息視圖

(4)在“成績(jī)”字段上建立B-樹(shù)索引

5.創(chuàng)建一個(gè)表簇,名為empl_dep,容納empl表和dep表,有公

第三篇:ORACLE數(shù)據(jù)庫(kù)學(xué)習(xí)心得

ORACLE數(shù)據(jù)庫(kù)結(jié)課論文

一個(gè)好的程序,必然聯(lián)系著一個(gè)龐大的數(shù)據(jù)庫(kù)網(wǎng)路...今年我們學(xué)習(xí)了 oracle數(shù)據(jù)庫(kù)這門課程,起初的我,對(duì)這個(gè)字眼是要多陌生有多陌生,后來(lái)上課的時(shí)候聽(tīng)一會(huì)老師講課,偶爾再跟上上機(jī)課,漸漸的學(xué)會(huì)了不少東西,但我感覺(jué),我學(xué)到的仍是一些皮毛而已,懷著疑惑和求知的心態(tài),我在網(wǎng)上搜索了關(guān)于 oracle數(shù)據(jù)庫(kù)的一些知識(shí)。

1.ORACLE的特點(diǎn): 可移植性 ORACLE采用C語(yǔ)言開(kāi)發(fā)而成,故產(chǎn)品與硬件和操作系統(tǒng)具有很強(qiáng)的獨(dú)立性。從大型機(jī)到微機(jī)上都可運(yùn)行ORACLE的產(chǎn)品。可在UNIX、DOS、Windows等操作系統(tǒng)上運(yùn)行。可兼容性 由于采用了國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)查詢語(yǔ)言SQL,與IBM的SQL/DS、DB2等均兼容。并提供讀取其它數(shù)據(jù)庫(kù)文件的間接方法。

可聯(lián)結(jié)性 對(duì)于不同通信協(xié)議,不同機(jī)型及不同操作系統(tǒng)組成的網(wǎng)絡(luò)也可以運(yùn)行ORAˉCLE數(shù)據(jù)庫(kù)產(chǎn)品。

2.ORACLE的總體結(jié)構(gòu)

(1)ORACLE的文件結(jié)構(gòu) 一個(gè)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)包括以下5類文件:ORACLE RDBMS的代碼文件。

數(shù)據(jù)文件 一個(gè)數(shù)據(jù)庫(kù)可有一個(gè)或多個(gè)數(shù)據(jù)文件,每個(gè)數(shù)據(jù)文件可以存有一個(gè)或多個(gè)表、視圖、索引等信息。

日志文件 須有兩個(gè)或兩個(gè)以上,用來(lái)記錄所有數(shù)據(jù)庫(kù)的變化,用于數(shù)據(jù)庫(kù)的恢復(fù)。控制文件 可以有備份,采用多個(gè)備份控制文件是為了防止控制文件的損壞。參數(shù)文件 含有數(shù)據(jù)庫(kù)例程起時(shí)所需的配置參數(shù)。

(2)ORACLE的內(nèi)存結(jié)構(gòu) 一個(gè)ORACLE例程擁有一個(gè)系統(tǒng)全程區(qū)(SGA)和一組程序全程區(qū)(PGA)。

SGA(System Global Area)包括數(shù)據(jù)庫(kù)緩沖區(qū)、日志緩沖區(qū)及共享區(qū)域。

PGA(Program Global Area)是每一個(gè)Server進(jìn)程有一個(gè)。一個(gè)Server進(jìn)程起動(dòng)時(shí),就為其分配一個(gè)PGA區(qū),以存放數(shù)據(jù)及控制信息。

(3)ORACLE的進(jìn)程結(jié)構(gòu)ORACLE包括三類進(jìn)程: ①用戶進(jìn)程 用來(lái)執(zhí)行用戶應(yīng)用程序的。

②服務(wù)進(jìn)程 處理與之相連的一組用戶進(jìn)程的請(qǐng)求。

③后臺(tái)進(jìn)程 ORACLE為每一個(gè)數(shù)據(jù)庫(kù)例程創(chuàng)建一組后臺(tái)進(jìn)程,它為所有的用戶進(jìn)程服務(wù),其中包括: DBWR(Database Writer)進(jìn)程,負(fù)責(zé)把已修改的數(shù)據(jù)塊從數(shù)據(jù)庫(kù)緩沖區(qū)寫(xiě)到數(shù)據(jù)庫(kù)中。LGWR(Log Writer)進(jìn)程,負(fù)責(zé)把日志從SGA中的緩沖區(qū)中寫(xiě)到日志文件中。

SMON(System Moniter)進(jìn)程,該進(jìn)程有規(guī)律地掃描SAG進(jìn)程信息,注銷失敗的數(shù)據(jù)庫(kù)例程,回收不再使用的內(nèi)存空間。PMON(Process Moniter)進(jìn)程,當(dāng)一用戶進(jìn)程異常結(jié)束時(shí),該進(jìn)程負(fù)責(zé)恢復(fù)未完成的事務(wù),注銷失敗的用戶進(jìn)程,釋放用戶進(jìn)程占用的資源。ARCH(ARCHIVER)進(jìn)程。每當(dāng)聯(lián)機(jī)日志文件寫(xiě)滿時(shí),該進(jìn)程將其拷貝到歸檔存儲(chǔ)設(shè)備上。另外還包括分布式DB中事務(wù)恢復(fù)進(jìn)程RECO和對(duì)服務(wù)進(jìn)程與用戶進(jìn)程進(jìn)行匹配的Dnnn進(jìn)程等。

3.ORACLE的邏輯結(jié)構(gòu)

構(gòu)成ORACLE的數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)包括:(1)表空間

(2)5種類型的段(segment)

①數(shù)據(jù)段;②索引段;③回滾(rollbock)段;④臨時(shí)段;⑤自舉(bootstrap)段。

段的分配單位叫范圍(Extent)

表空間(Tablespace)一個(gè)數(shù)據(jù)庫(kù)劃分成的若干邏輯部分稱為表空間。一個(gè)數(shù)據(jù)庫(kù)可以有一個(gè)或多個(gè)表空間,初始的表空間命名為SYSTEM,每一個(gè)邏輯表空間對(duì)應(yīng)于一個(gè)或多個(gè)物理文件。DBA使用表空間做以下工作: 控制數(shù)據(jù)庫(kù)對(duì)象,如表、索引和臨時(shí)段的空間分配。為數(shù)據(jù)庫(kù)用戶設(shè)置空間配額。

利用個(gè)別表空間的在線或離線,控制數(shù)據(jù)的可用性。后備或恢復(fù)數(shù)據(jù)。

通過(guò)分配空間,以改進(jìn)性能。

在每個(gè)數(shù)據(jù)庫(kù)中都存在SYSTEM表空間,它在建立數(shù)據(jù)庫(kù)時(shí)自動(dòng)建立。在該表空間中,包含數(shù)據(jù)庫(kù)的數(shù)據(jù)字典,其中存儲(chǔ)全部數(shù)據(jù)庫(kù)對(duì)象的名字和位置。SYSTEM表空間總是在線的,像其它表空間一樣,可以通過(guò)增加新的數(shù)據(jù)庫(kù)文件來(lái)擴(kuò)大。一個(gè)表空間可包含許多表和索引。但一個(gè)表和索引不能跨越表空間,可跨越組成表空間的文件。在DB的打開(kāi)的情況下,DBA利用ALTER TABLESPACE語(yǔ)句,可以實(shí)施表空間的在線或離線。SYSTEM表空間必須在線。表空間離線有下列原因: 一般為了使部分?jǐn)?shù)據(jù)庫(kù)不能使用,而允許正常存取數(shù)據(jù)庫(kù)其余部分。執(zhí)行表空間離線備份。

一個(gè)離線的表空間,不能被應(yīng)用用戶讀或編輯。

可以增加數(shù)據(jù)文件擴(kuò)大已有的表空間,也可增加新的表空間使數(shù)據(jù)庫(kù)容量增大,或分配空間給某個(gè)應(yīng)用。使用ALFER TABLESPACE ADD FILE語(yǔ)句將另一個(gè)數(shù)據(jù)文件加入到已存在表空間中。使用CREATE TABLESPACE語(yǔ)句可建立一個(gè)新的表空間。段(segment)表空間中的全部數(shù)據(jù)存儲(chǔ)在以段劃分的數(shù)據(jù)庫(kù)空間中。一個(gè)段是分配給數(shù)據(jù)庫(kù)用于數(shù)據(jù)存儲(chǔ)的范圍的集合。數(shù)據(jù)可以是表、索引或RDBMS所需要的臨時(shí)數(shù)據(jù)。段是表空間的下一個(gè)邏輯存儲(chǔ)的級(jí)別。一個(gè)段不能跨越一個(gè)表空間,但可跨越表空間內(nèi)的文件。一個(gè)數(shù)據(jù)庫(kù)最多需要五種段類型: 數(shù)據(jù)段 一個(gè)包含一個(gè)表(或聚集)的全部數(shù)據(jù),一個(gè)表(或聚集)總有一個(gè)單個(gè)數(shù)據(jù)段。

索引段 一個(gè)索引段包含對(duì)一個(gè)表(或聚集)建立的一個(gè)索引的全部索引數(shù)據(jù)。一個(gè)表可以有一個(gè)、多個(gè)或者沒(méi)有索引段,取決于它所擁有的索引個(gè)數(shù)。一個(gè)聚集必須至少有一個(gè)索引段,即在聚集碼上建立聚集索引。

回滾段 每個(gè)DB有一個(gè)或多個(gè)回滾段。一個(gè)回滾段是DB的一部分,它記錄在某一情況下被撤消的動(dòng)作。回滾段用于事務(wù)控制和恢復(fù)。

臨時(shí)段 在處理查詢時(shí),ORACLE需要臨時(shí)工作空間,用于存儲(chǔ)語(yǔ)句處理的中間結(jié)果,這個(gè)區(qū)稱為臨時(shí)段。

自舉段 自舉段在SYSTEM表空間中,在數(shù)據(jù)庫(kù)建立時(shí)建立。它包括數(shù)據(jù)字典定義,在數(shù)據(jù)庫(kù)打開(kāi)時(shí)裝入。

4.用戶數(shù)據(jù)庫(kù)對(duì)象

由用戶建立的對(duì)象駐留在表空間中,含有真正的數(shù)據(jù)。數(shù)據(jù)庫(kù)對(duì)象有表、視圖、聚集、索引、偽列和序號(hào)生成器。

(1)聚集(Cluster)聚集是存儲(chǔ)數(shù)據(jù)的一種可選擇的方法。聚集包括存儲(chǔ)在一起的一組表,它們共享公共列并經(jīng)常一起使用。由于內(nèi)容相關(guān)并且物理地存儲(chǔ)在一起,存取時(shí)間得到改進(jìn),存儲(chǔ)空間可以減少。聚集是一種優(yōu)化措施。

聚集對(duì)性能的改進(jìn),依賴于數(shù)據(jù)的分布和SQL操作的內(nèi)容。特別是使用聚集對(duì)連接非常有利。可以明顯地提高連接的速度。建立聚集命令的基本格式: SQL>CREATE CLUSTER〈聚集名〉(列定義[,…]);利用聚集建立表命令基本格式: SQL>CREATE TABLE〈新表名〉(列定義[,…]CLUSTER〈聚集名〉(聚集列);在聚集碼上必須建立一個(gè)聚集索引,對(duì)于每一數(shù)據(jù)塊上每個(gè)聚集碼值有一索引項(xiàng)。這個(gè)索引必須在DML語(yǔ)句對(duì)聚集表操作前建立。建立索引的語(yǔ)句是:CREATE INDEX索引名ON CLUSTER聚集名;(2)序號(hào)生成器 序號(hào)(SEQUENCE)生成器為表中的單列或多列生成順序號(hào)。利用序號(hào)可自動(dòng)地生成唯一主碼。使用SQL語(yǔ)句定義序號(hào),給出一些信息(如序號(hào)名、是升序或降序、每個(gè)序號(hào)間的間隔和其它信息)。所有序號(hào)存儲(chǔ)在數(shù)據(jù)字典表中。

所有序號(hào)定義存儲(chǔ)在數(shù)據(jù)字典的SEQUENCE表中。用戶可以通過(guò)字典視圖

USER-SE-QUENCES、ALL-SEQUENCES

和DBA-SEQUENCES查詢和存取。建立序號(hào)生成器的語(yǔ)句是: CREATE SEQUENCE序號(hào)生成器名 其它選項(xiàng)。

一旦序號(hào)生成器S被定義。可用S.Currval來(lái)引用S序號(hào)生成器的當(dāng)前值。用S.nextval產(chǎn)生下一個(gè)新的序號(hào)并加以引用。

(3)偽列 偽列的行為像表的一列,但不真正存在于表中,在查詢時(shí)可引用偽列,但偽列不能插入、刪除或修改。

5.數(shù)據(jù)字典

數(shù)據(jù)字典ORACLE RDBMS最重要的部分之一。數(shù)據(jù)字典含有一組系統(tǒng)定義的表,只能讀,是關(guān)于數(shù)據(jù)庫(kù)的引用指南。它可提供以下信息:ORACLE用戶的用戶名;每個(gè)用戶被授予的權(quán)限和角色;實(shí)體的名字和定義;完整性約束 為數(shù)據(jù)庫(kù)實(shí)體分配的空間;通用的數(shù)據(jù)庫(kù)結(jié)構(gòu);審計(jì)信息;觸發(fā)子程序等的存儲(chǔ)。數(shù)據(jù)字典是以表和視圖構(gòu)成的,像其它數(shù)據(jù)庫(kù)數(shù)據(jù)一樣,可用SQL語(yǔ)言查詢數(shù)據(jù)字典。

數(shù)據(jù)字典在DB建立時(shí)建立。每當(dāng)DB進(jìn)入操作,數(shù)據(jù)字典就由ORACLE RDBMS負(fù)責(zé)修改。數(shù)據(jù)庫(kù)建立時(shí)有兩個(gè)默認(rèn)DBA用戶:SYS、SYSTEM。SYS持有基本表中的數(shù)據(jù)。數(shù)據(jù)字典包含一組基表和相關(guān)的視圖,可分為以下幾類: 類

描 述

DBA-××× 只有DBA可存取的視圖,給出數(shù)據(jù)庫(kù)中定義的任何實(shí)體的信息

USER-××× 對(duì)任何用戶可用的視圖,給出他們自己的實(shí)體的信息

ALL-×××

對(duì)任何用戶可用的視圖,給出用戶可存取的所有實(shí)體的信息

其中×××代表表名或視圖名

下面列出的是一些常用的表或視圖的名稱。(1)DTAB 描述了組或數(shù)據(jù)字典的所有表。(2)TAB 用戶建的所有基本表、視圖和同義詞。(3)COL 用戶創(chuàng)建基本表的所有列的信息。

(4)SYNONYMS 用戶可存取的同義名詞、專用名和公用名。(5)CATALOG 用戶可存取的表、視圖、同義詞、序列。(6)CONSTRAINTS 用戶可存取的約束。(7)INDEXES 用戶可存取的表和聚集的序列。(8)OBJECTS 用戶可存取的對(duì)象。(9)TABLES 用戶可存取的表。(10)USERS 查看當(dāng)前全部用戶。(11)VIEWS 查看用戶可存取的視圖。

(12)SYSTABAUTH 用戶對(duì)數(shù)據(jù)對(duì)象的使用權(quán)限。可以用SQL>SELECT*FROM〈字典表名或視圖名〉WHERE〈條件〉來(lái)讀取有關(guān)信息。

可以用SQL>DESCRIBE〈表名〉來(lái)查看表的結(jié)構(gòu)定義。但是數(shù)據(jù)庫(kù)字典的結(jié)構(gòu)不可改。用DESCRIBE命令還可以查看視圖及過(guò)程的定義。

6.ORACLE的SQL、PL/SQL與SQL*PLUS 作為ORACLE數(shù)據(jù)庫(kù)核心的SQL語(yǔ)言是ANSI和ISO的標(biāo)準(zhǔn)SQL的擴(kuò)充。用來(lái)存儲(chǔ)、檢索和維護(hù)數(shù)據(jù)庫(kù)中的信息,并控制對(duì)數(shù)據(jù)庫(kù)的存取事務(wù)。由于RDBMS執(zhí)行SQL語(yǔ)句時(shí),是一次只執(zhí)行一條語(yǔ)句,它是非過(guò)程化的。這就使得單條的SQL語(yǔ)句使用方便,功能強(qiáng)大。用戶只需說(shuō)明操作目的,不必關(guān)心具體操作的實(shí)現(xiàn)方法。

但在實(shí)際數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)中,往往要依據(jù)前一步對(duì)數(shù)據(jù)庫(kù)操作的結(jié)果或上一個(gè)事務(wù)提交的情況來(lái)確定下一步的操作。故ORACLE推出了一種PL/SQL工具,它擴(kuò)充了SQL語(yǔ)句,使之具有可進(jìn)行過(guò)程化編程的能力,如循環(huán)、分支功能。PL/SQL可支持變量和常量的使用。例如在SELECT查詢語(yǔ)句的where子句中可以使用變量來(lái)書(shū)寫(xiě)條件表達(dá)式。SQL*PLUS是ORACLE用來(lái)存儲(chǔ)、查詢、操縱、控制和報(bào)告數(shù)據(jù)庫(kù)中信息的一個(gè)交互式工具。它是一種集編輯、調(diào)試、運(yùn)行于一體的開(kāi)發(fā)環(huán)境。在SQL*PLUS的這種運(yùn)行環(huán)境下,既可以使用SQL命令、PL/SQL語(yǔ)句、及SQL*PLUS自己提供的命令,又可以運(yùn)行由上述三類命令(或語(yǔ)句)編輯而成的命令文件。SQL*PLUS提供的附加命令主要用來(lái)編輯、運(yùn)行上述三類命令及命令文件和對(duì)查詢結(jié)果進(jìn)行格式化輸出等功能。

7.數(shù)據(jù)庫(kù)系統(tǒng)的管理

ORACLE作為一個(gè)大型的數(shù)據(jù)系統(tǒng),通常包含很多用戶的數(shù)據(jù)。在應(yīng)用開(kāi)發(fā)過(guò)程中,有許許多多的各類人員進(jìn)行開(kāi)發(fā)和應(yīng)用。所以必須要求有人對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行臨時(shí)管理,并進(jìn)行數(shù)據(jù)的備份等工作。這種人被稱為數(shù)據(jù)庫(kù)管理員(Data Base Administrator)。他們必須理解數(shù)據(jù)庫(kù)系統(tǒng)管理,清楚數(shù)據(jù)庫(kù)包含的數(shù)據(jù)內(nèi)容、運(yùn)行狀況等。

一般說(shuō)來(lái),DBA不是指具體的人,而是指對(duì)數(shù)據(jù)庫(kù)可以行使DBA特權(quán)的用戶。DBA具有如下責(zé)任:(1)ORACLE服務(wù)器和客戶工作站軟件的安裝和升級(jí);(2)創(chuàng)建基本的數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(表空間);(3)創(chuàng)建基本的數(shù)據(jù)庫(kù)客體(表、視圖、索引);(4)修改數(shù)據(jù)庫(kù)結(jié)構(gòu);(5)給用戶授權(quán),維護(hù)系統(tǒng)安全;(6)控制和管理用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn);(7)監(jiān)視和優(yōu)化數(shù)據(jù)庫(kù)的性能;(8)計(jì)算數(shù)據(jù)庫(kù)信息的后備和恢復(fù);(9)后備和恢復(fù)數(shù)據(jù)庫(kù);(10)構(gòu)造ORACLE服務(wù)器,如創(chuàng)建數(shù)據(jù)庫(kù)鏈、客體同義詞等。而應(yīng)用開(kāi)發(fā)人員須完成:(1)應(yīng)用程序設(shè)計(jì);(2)應(yīng)用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和修改;(3)為DBA提供必要的信息;(4)完成應(yīng)用程序的開(kāi)發(fā)。

看了許多關(guān)于ORACLE的知識(shí)論壇,總算是對(duì)ORACLE有個(gè)整體的認(rèn)識(shí),不僅僅是拘泥于課堂上學(xué)習(xí)的知識(shí)而已,雖然自己對(duì)ORACLE學(xué)習(xí)并不是多么的透徹,但是總歸多接觸點(diǎn)新的東西總是好的。

這一個(gè)學(xué)期,也是臨近畢業(yè)的時(shí)候了,很感謝賈老師的嚴(yán)格要求,讓我在學(xué)習(xí)上有了很大的進(jìn)步,同時(shí)也改掉了一些惰性,能積極的投入到學(xué)習(xí)中去了,不懂就大膽的問(wèn)同學(xué),請(qǐng)學(xué)習(xí)好的同學(xué)幫助講解,最后,真心的祝福賈老師工作順利,身體健康!

第四篇:Oracle數(shù)據(jù)庫(kù)總結(jié)范文

創(chuàng)建表及命名規(guī)則?

表名和列名:

必須以字母開(kāi)頭 必須在1–30個(gè)字符之間

必須只能包含A–Z, a–z, 0–9, _, $, 和# 必須不能和用戶定義的其他對(duì)象重名 必須不能是Oracle 的保留字 Oracle默認(rèn)存儲(chǔ)是都存為大寫(xiě)

增刪改查語(yǔ)法?

增加: 例如:使用INSERT語(yǔ)句往customers表中插入數(shù)據(jù),指定相關(guān)列和值 INSERT INTO customers(customer_id, first_name, last_name, dob, phone)VALUES(6, 'Fred', 'Brown', '01-1月-1970', '800-555-1215');

如果為表所有列都指定值,那么可以忽略列清單

INSERT INTO customersVALUES(6, 'Fred', 'Brown', '01-1月-1970', '800-555-1215');

可以使用NULL為某些列指定空值

INSERT INTO customersVALUES(8, 'Sophie', 'White', NULL, NULL);

查詢:select * fromcustomers;或者select字段 fromcustomerswhere條件 刪除:deletefromcustomerswhere條件

更改:update customersset name = 'xiaoming',age = ‘16’(更改多個(gè)字段時(shí)候用逗號(hào)隔開(kāi))where 條件

對(duì)查詢結(jié)果進(jìn)行排序?

語(yǔ)句:select * fromcustomersorderby字段 desc;

(asc(升序),desc(降序)如果不寫(xiě),默認(rèn)升序)

NULL值了解么?

NULL值表示未知的值。它是一個(gè)特殊的值,但并不是空字符串,NULL值表示該列是未知的。當(dāng)某些查詢語(yǔ)句在輸出結(jié)果列上看不到值的時(shí)候,可能就是NULL值

NVL()和NVL2():

NULL值被查詢出來(lái)的時(shí)候沒(méi)有顯示信息,如何告知用戶這是空字符串還是NULL,這可以通過(guò)NVL()函數(shù)來(lái)進(jìn)行處理

NVL(x,value)是有value顯示本身,null顯示為替換的value NVL2(x,value1,value2)是如果x不為NULL值,返回value1,否則返回value2 例程:

select name,nvl2(email,'已知','未知')from student;【代碼含義:代表如果email字段中有值,則顯示已知,null則顯示未知,如果想顯示本來(lái)的查詢結(jié)果select name,nvl(email,'未知')from student;】 update student set name = replace(name,'小','大');【代碼含義:代表將STUDENT表中NAME 字段中如果含有小字,那么就將小字替換為大字(操作的不是顯示結(jié)果,而是將表中數(shù)據(jù)進(jìn)行更改)】

Oracle中的簡(jiǎn)單函數(shù)?

字符串函數(shù)

? concat:將x和y拼接起來(lái),并返回新字符串

例程:

select concat(first_name,'-'||last_name)姓名 from customers;? Instr字符查找,從1開(kāi)始。

select instr('asdbcrdbewqrbmde','b')from dual;select instr('asdbcrdbewqrbmde','b',5,2)from dual;【代表從第5個(gè)字符開(kāi)始,第二個(gè)b所在的位置】

? Ltrim : LTRIM(x,[trim_string])從x字符串左側(cè)去除所有的trim_string字符串,如果沒(méi)有指定trim_string字符串,則默認(rèn)為去除左側(cè)空白字符

? Rtrim RTRIM(x,[trim_string])從x字符串右側(cè)去除所有的trim_string字符串,如果沒(méi)有指定trim_string字符串,則默認(rèn)為去除右側(cè)空白字符 ? Trim TRIM(trim_string FROM x)從x字符串兩側(cè)去除trim_string字符串

? Replace REPLACE(x, search_string, replace_string)從字符串x中搜索search_string字符串,并使用replace_string字符串替換。用select執(zhí)行并不會(huì)修改數(shù)據(jù)庫(kù)中原始值,但是用update執(zhí)行可以修改。

? Substr SUBSTR(x, start,[length])返回字符串中的指定的字符,這些字符從字符串的第start個(gè)位置開(kāi)始,長(zhǎng)度為length個(gè)字符;如果start是負(fù)數(shù),則從x字符串的末尾開(kāi)始算起;如果length省略,則將返回一直到字符串末尾的所有字符

例程:

select substr('abcd月fg',4,2)from dual;(結(jié)果:d月)select substr('abcdefg',-2)from dual;(結(jié)果:fq)

日期函數(shù)

? Sysdate 例程:

Selectsysdatefromdual;

Select to_char(sysdate, 'yyyy-mm-dd-hh-mm-ss')from dual;

? Add_months(d1,n1)? last_day():

轉(zhuǎn)換函數(shù)

? To_char TO_CHAR(x,[ format])將x轉(zhuǎn)化為字符串。format為轉(zhuǎn)換的格式,可以為數(shù)字格式或日期格式

select to_char(sysdate,'yyyy-mm-dd')from dual;【一般在查詢時(shí)候使用,使返回的值成為指定格式】

? to_date TO_DATE(x,[format])將x字符串轉(zhuǎn)換為日期

insert into student values(seq_stu.nextval,'小明',to_date('1992-2-18','yyyy-mm-dd'),default,'北京',null);【一般在添加使用】 返回所查詢的值中最后一個(gè)日期數(shù)據(jù)。

聚合函數(shù)

? Avg:平均數(shù) ? Sum:求和 ? Max:最大值 ? Min:最小值 ? Count:返回統(tǒng)計(jì)的行數(shù) ? Round:四舍五入

例程:

select round(avg(bid),1)from bug;分組了解么?

有時(shí)需要對(duì)表中的行進(jìn)行分組,然后統(tǒng)計(jì)每組的信息,可以使用GROUP BY進(jìn)行分組,然后再對(duì)每組進(jìn)行統(tǒng)計(jì)。

(1)可以使用GROUP BY對(duì)多個(gè)列進(jìn)行分組

例:

SELECT product_id, avg(customer_id)FROM purchases GROUP BY product_id;

(2)可以對(duì)分組后的行使用聚集函數(shù),聚集函數(shù)會(huì)統(tǒng)計(jì)每組中的值,對(duì)于每組分別統(tǒng)計(jì)后返回一個(gè)值 例:

SELECT

product_type_id,BY

COUNT(ROWID)FROM

BY

productsGROUP product_type_id;注意:

product_type_idORDER a)如果查詢中使用了聚集函數(shù),被查詢的列未使用聚集函數(shù)處理,那么這些列必須出現(xiàn)在GROUP BY子句后,否則,會(huì)提示ORA-00937錯(cuò)誤

b)不能使用聚集函數(shù)作為WHERE子句的篩選條件,否則,會(huì)提示ORA-00934錯(cuò)誤

c)可以使用HAVING子句過(guò)濾分組后的行

SELECT...FROM...WHERE GROUP BY...HAVING...ORDER BY...;(GROUP BY使用時(shí)可以不使用HAVING,但是使用HAVING時(shí)必須有GROUP BY才有意義)

(3)同時(shí)使用WHERE, GROUP BY和HAVING

a)首先,執(zhí)行WHERE篩選掉不符合條件的行 b)然后,將符合條件的行使用GROUP BY進(jìn)行分組 c)最后,使用HAVING對(duì)分組統(tǒng)計(jì)的結(jié)果進(jìn)行再次篩選 例:

SELECT product_type_id, AVG(price)FROM products

WHERE price < 15

GROUP BY product_type_id HAVING AVG(price)> 13 ORDER BY product_type_id;

表的約束條件?

目的:

確保表中數(shù)據(jù)的完整性。

常用的約束類型: 主鍵約束(PRIMARY KEY):要求主鍵列數(shù)據(jù)唯一,并且不允許為空 非空約束(NOT NULL):指定的列的值不允許為空

唯一鍵約束(UNIQUE):要求該列唯一,允許為空,但只能出現(xiàn)一個(gè)空

檢查約束(CHECK):指定表中一列或多列可以接受的數(shù)據(jù)值格式 默認(rèn)約束(DEFAULT):指定某列的默認(rèn)值

外鍵約束(FOREIGN KEY):用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間連接的一

列或多列。通過(guò)將表中的主鍵列添加到另一個(gè)表中。可以創(chuàng)建兩個(gè)表之間的連接。這個(gè)主鍵的列就稱為第二個(gè)表的外鍵。外鍵約束就可以確保添加到外鍵表中的任何行都在主表中都存在相應(yīng)的行

多表查詢?

不同的數(shù)據(jù)存儲(chǔ)在不同的表中,通常要查詢多張表才能找到需要的數(shù)據(jù)

例程: SELECT products.name, product_types.name FROM products, product_types WHERE

products.product_type_id

= product_types.product_type_id AND products.product_id = 3;

products表和product_types表相關(guān)字段會(huì)用在SELECT語(yǔ)句及WHERE子句上,可以給表起別名,提高代碼可讀性、降低書(shū)寫(xiě)難度 例程:

SELECT p.name, pt.name FROM products p, product_types pt WHERE p.product_type_id = pt.product_type_id AND p.product_id = 3 注意:

如果查詢兩張表,并且沒(méi)有定義連接條件,那么查詢的結(jié)果集是兩表相乘的結(jié)果,這樣的情況稱之為笛卡爾乘積。總結(jié):多表查詢WHERE時(shí),連接次數(shù)=查詢時(shí)連接表的數(shù)量-1

常見(jiàn)的三種連接類型:

內(nèi)連接:

內(nèi)連接返回的行只有滿足連接條件才會(huì)返回。如果連接條件的列中有NULL值,那么該行則不會(huì)返回 外連接:

外連接返回的行滿足連接條件,也包括在連接條件的列包含空值的行

自連接:

連接的表為同一張表

子查詢?

子查詢是嵌入到另一個(gè)SELECT語(yǔ)句中的一個(gè)SELECT語(yǔ)句。通過(guò)使用子查詢,可以使用簡(jiǎn)單的語(yǔ)句組成強(qiáng)大的語(yǔ)句。當(dāng)需要從表中選擇行,而選擇條件卻取決于該表自身中的數(shù)據(jù)時(shí),子查詢非常有用。

單行子查詢:(1)可以將另外一個(gè)查詢作為WHERE子句的子查詢

例:查詢尾名是‘Brown’的首名和尾名

SELECT first_name, last_name FROM customers

WHERE customer_id =

(SELECT customer_id FROM customers WHERE last_name = 'Brown');(2)在單行子查詢還可以使用其他比較運(yùn)算符,如<>、<、>、<=和>= 例:查詢價(jià)格大于平均價(jià)格的商品編號(hào)、名稱及價(jià)格

WHERE子句中使用>,以及子查詢中使用AVG()聚集函數(shù)

SELECT product_id, name, price FROM products WHERE price >(SELECT AVG(price)FROM products);(3)在HAVING子句中使用子查詢

HAVING是在分組統(tǒng)計(jì)后用于過(guò)濾行,同樣在HAVING子句后面可以跟子查詢。單行子查詢將返回結(jié)果用于HAVING子句過(guò)濾分組統(tǒng)計(jì)的行

例如:查詢平均價(jià)格小于最大平均值的商品編號(hào)及平均值

SELECT product_type_id, AVG(price)FROM products GROUP BY product_type_id HAVING AVG(price)<(SELECT MAX(AVG(price))FROM products GROUP BY product_type_id)ORDER BY product_type_id;

分頁(yè)查詢?

可以通過(guò)ROWNUM來(lái)實(shí)現(xiàn)。

序列?

序列是一個(gè)數(shù)據(jù)庫(kù)對(duì)象,用于生成一系列的整數(shù)。

索引?

索引是與表關(guān)聯(lián)的可選結(jié)構(gòu)。可以創(chuàng)建索引以加快對(duì)表執(zhí)行SQL語(yǔ)句的速度。就像書(shū)的索引可以幫助我們更快速的查找信息一樣,Oracle中的索引也提供了一種更快地訪問(wèn)表數(shù)據(jù)的途徑。

視圖?

視圖是基于一張表或多張表或另外一個(gè)視圖的邏輯表。視圖不同于表,視圖本身不包含任何數(shù)據(jù)。表是實(shí)際獨(dú)立存在的實(shí)體,是用于存儲(chǔ)數(shù)據(jù)的基本結(jié)構(gòu)。而視圖只是一種定義,對(duì)應(yīng)一個(gè)查詢語(yǔ)句。視圖的數(shù)據(jù)都來(lái)自于某些表,這些表被稱為基表。數(shù)據(jù)庫(kù)中只在數(shù)據(jù)字典中存儲(chǔ)對(duì)視圖的定義。

第五篇:ORACLE數(shù)據(jù)庫(kù)工作總結(jié)

2014-2015學(xué)第一學(xué)期ORACLE教學(xué)工作總結(jié)

班級(jí):13高軟班

數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最為廣泛的技術(shù)之一,它已經(jīng)成為計(jì)算機(jī)信息系統(tǒng)與應(yīng)用的核心技術(shù)和重要基礎(chǔ)。所以在學(xué)習(xí)這門課時(shí),注重學(xué)生實(shí)際操作能力,安排了理論與上機(jī)操作相結(jié)合。以下是我的工作總結(jié):

1、課前準(zhǔn)備:備好課。認(rèn)真學(xué)習(xí)貫徹教學(xué)大綱,鉆研教材。了解教材的基本思想、基本概念、結(jié)構(gòu)、重點(diǎn)與難點(diǎn),掌握知識(shí)的邏輯。

了解學(xué)生原有的知識(shí)技能的質(zhì)量,他們的興趣、需要、方法、習(xí)慣,學(xué)習(xí)新知識(shí)可能會(huì)有哪些困難,采取相應(yīng)的措施。

考慮教法,解決如何把已掌握的教材傳授給學(xué)生,包括如何組織教學(xué)、如何安排每節(jié)課的活動(dòng)。

2、課堂上的情況。組織好課堂教學(xué),關(guān)注全體學(xué)生,注意信息反饋,調(diào)動(dòng)學(xué)生的注意力,使其保持相對(duì)穩(wěn)定性。同時(shí),激發(fā)學(xué)生的情感,使他們產(chǎn)生愉悅的心境,創(chuàng)造良好的課堂氣氛,課堂語(yǔ)言簡(jiǎn)潔明了,課堂提問(wèn)面向全體學(xué)生,注意引發(fā)學(xué)生學(xué)習(xí)的興趣,課堂上講練結(jié)合,布置好課外作業(yè),減輕學(xué)生的負(fù)擔(dān)。

3、上機(jī)操作情況。讓學(xué)生復(fù)習(xí)操作上節(jié)課的學(xué)習(xí)內(nèi)容,布置一定的作業(yè),做到每個(gè)學(xué)生的每個(gè)SQL語(yǔ)句,每個(gè)操作抖完全掌握。總之,作為一名教師,教學(xué)是我的基本工作,而教與學(xué)是一個(gè)良性互動(dòng)的過(guò)程,在教中學(xué),在學(xué)中教,才能實(shí)現(xiàn)自己在業(yè)務(wù)上的進(jìn)步與飛躍。實(shí)施素質(zhì)教育對(duì)教師的素質(zhì)要求更高,在今后的教育教學(xué)中,我將嚴(yán)格要求自己,努力工作,發(fā)揚(yáng)優(yōu)點(diǎn),開(kāi)拓進(jìn)取,為教育事業(yè)奉獻(xiàn)自己的力量。

下載Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦)word格式文檔
下載Oracle數(shù)據(jù)庫(kù)基礎(chǔ)題庫(kù)【含答案】(小編推薦).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

    Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)1.set linesize xx; 設(shè)置行間距,常用數(shù)值有100,200,300 2.set pagesize xx; 設(shè)置每頁(yè)顯示行數(shù) 3.ed x ; 表示新建一個(gè)x.sql文件,通過(guò)文件編輯SQL語(yǔ)句,然后用......

    Oracle數(shù)據(jù)庫(kù)使用心得

    Oracle數(shù)據(jù)庫(kù)使用心得 092909 謝弘毅 經(jīng)過(guò)助教對(duì)oracle和sybase數(shù)據(jù)庫(kù)的講解后,我下載使用和體驗(yàn)了這兩個(gè)數(shù)據(jù)庫(kù),但主要的還是使用了Oracle數(shù)據(jù)庫(kù),經(jīng)過(guò)一段時(shí)間的使用,對(duì)其使用......

    Oracle數(shù)據(jù)庫(kù) 知識(shí)點(diǎn)總結(jié)

    1.constraint約束: alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主鍵 alter table [table_name] drop constraint [pk_name];//刪除主鍵......

    ORACLE數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

    數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)-Marlon 目錄 一、 二、 三、 四、 五、 六、 七、 八、 ORACLE_簡(jiǎn)介 ......................................................................................

    Oracle數(shù)據(jù)庫(kù)心得體會(huì)(含五篇)

    學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)的心得體會(huì) 對(duì)于學(xué)習(xí)Oracle數(shù)據(jù)庫(kù),應(yīng)該先要了解Oracle的框架。它有物理結(jié)構(gòu)(由控制文件、數(shù)據(jù)文件、重做日志文件、參數(shù)文件、歸檔文件、密碼文件組成),邏輯結(jié)......

    ORACLE數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)

    ORACLE數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)總結(jié) ---- ORACLE數(shù)據(jù)庫(kù)作為大型數(shù)據(jù)庫(kù)管理系統(tǒng),近年來(lái)一直占有世界上高端數(shù)據(jù)庫(kù)的最大 份額,其強(qiáng)大而完善的數(shù)據(jù)庫(kù)管理功能,以及ORACLE公司推陳出新的不......

    計(jì)算機(jī)基礎(chǔ)考試題庫(kù)(含答案)

    大學(xué)計(jì)算機(jī)基礎(chǔ) 試題題庫(kù)及答案 一、單選題練習(xí) 1.完整的計(jì)算機(jī)系統(tǒng)由( C )組成。 A.運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備 B.主機(jī)和外部設(shè)備 C.硬件系統(tǒng)和軟件系統(tǒng) D.主機(jī)......

    計(jì)算機(jī)基礎(chǔ)考試題庫(kù)(含答案)

    大學(xué)計(jì)算機(jī)基礎(chǔ)》試題題庫(kù)及答案 一、單選題練習(xí)1.完整的計(jì)算機(jī)系統(tǒng)由( C )組成。 A.運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備 B.主機(jī)和外部設(shè)備 C.硬件系統(tǒng)和軟件系統(tǒng) D.主機(jī)......

主站蜘蛛池模板: 少妇高潮太爽了在线视频| 熟女人妇交换俱乐部| 末成年女av片一区二区| 亚洲xxxx做受欧美| 国产亚洲精品一区在线播放| 亚洲欧美日韩精品久久| 国产乱人伦在线播放| 久久天天躁狠狠躁夜夜躁2012| 精品视频国产香人视频| 国产精品亚洲lv粉色| 国产女人高潮抽搐喷水视频| 色五月丁香五月综合五月| 97无码人妻福利免费公开在线视频| 精品欧美乱码久久久久久1区2区| 无码国产午夜福利片在线观看| 国产精品99久久精品| 亚洲av无码一区二区三区18| 国产精品人人做人人爽| 影音先锋男人站| 蜜桃视频一区二区三区在线观看| 日本肉体裸交xxxxbbbb| 亚洲欲色欲色xxxxx在线| 国产精品玖玖玖在线资源| 青春草在线视频观看| 男人的天堂av亚洲一区2区| 97久久国产亚洲精品超碰热| 国产成人精品亚洲日本在线观看| 国产真实乱对白精彩| 成人性生交大片免费看r老牛网站| 日本老熟欧美老熟妇| 大尺度无遮挡激烈床震网站| 国产成人毛片无码视频软件| 欧美特级特黄aaaaaa在线看| 成人a片产无码免费视频在线观看| 野外做受又硬又粗又大视频| 性刺激的大陆三级视频| 亚洲r成人av久久人人爽| 国产欧美日韩亚洲一二三区| 亚洲综合av色婷婷| 八区精品色欲人妻综合网| 国产色秀视频在线播放|