Oracle 10g 數(shù)據(jù)庫管理 應(yīng)用開發(fā) 標(biāo)準(zhǔn)教程 思考與練習(xí)
《Oracle 10g 數(shù)據(jù)庫管理 應(yīng)用開發(fā) 標(biāo)準(zhǔn)教程 思考與練習(xí)》由會員分享,可在線閱讀,更多相關(guān)《Oracle 10g 數(shù)據(jù)庫管理 應(yīng)用開發(fā) 標(biāo)準(zhǔn)教程 思考與練習(xí)(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第二章 一、填空題 1.Oracle 數(shù)據(jù)庫系統(tǒng)的物理存儲結(jié)構(gòu)主要由3 類文件組成,分別為數(shù)據(jù)文件、日志文件、控制文件。(另外還包含一些參數(shù)文件) 2.用戶對數(shù)據(jù)庫的操作如果產(chǎn)生日志信息、則該日志信息首先被存儲在日志緩沖區(qū)中,隨后 由LGWR 進(jìn)程保存到日志文件。 3.一個表空間物理上對應(yīng)一個或多個數(shù)據(jù)文件。 4.在Oracle 的邏輯存儲結(jié)構(gòu)中,根據(jù)存儲數(shù)據(jù)的類型,可以將段分為數(shù)據(jù)段、索引段、回退段、LOB 段和臨時段。 5.在Oracle 的邏輯存儲結(jié)構(gòu)中,數(shù)據(jù)塊是最小的I/O 單元。 6.在多進(jìn)程Oracle 實例系統(tǒng)中,進(jìn)程分為用戶進(jìn)程、后臺進(jìn)程和服務(wù)器進(jìn)程。當(dāng)一個用戶
2、運(yùn)行應(yīng)用程序,如PRO*C 程序或一個Oracle 工具(如SQL*Plus),系統(tǒng)將為用戶運(yùn)行的應(yīng)用程序建立一個用戶進(jìn)程。 二、選擇題 1.下列選項中,哪一部分不是Oracle 實例的組成部分? C A.系統(tǒng)全局區(qū)SGA B. PMON 后臺進(jìn)程 C.控制 D.Dnnn 調(diào)度進(jìn)程 2.在全局存儲區(qū)SGA 中,哪部分內(nèi)存區(qū)域是循環(huán)使用的? B A.數(shù)據(jù)緩沖區(qū) B.日志緩沖區(qū) C.共享池 D.大池 3.解析后的SQL 語句在SGA 的哪個區(qū)域中進(jìn)行緩存? C A.數(shù)據(jù)緩沖區(qū) B.日志緩沖區(qū) C.共享池 D.大池 4.如果一個服務(wù)進(jìn)程非正常終止,Oracle
3、 系統(tǒng)將使用下列哪一個進(jìn)程來釋放它所占用的資 源? D A.DBWR B.LGWR C.SMON D.PMON 5.如果服務(wù)器進(jìn)程無法在數(shù)據(jù)緩沖區(qū)中找到空閑緩存塊,以添加從數(shù)據(jù)文件中讀取的數(shù)據(jù) 塊,則將啟動如下哪一個進(jìn)程? D A.CKPT B.SMON C.LGWR D.DBWR 6.下列關(guān)于共享服務(wù)器模式的敘述哪一項不正確? A A.在共享服務(wù)器操作模式下,每一個用戶進(jìn)程必須對應(yīng)一個服務(wù)器進(jìn)程 B.一個數(shù)據(jù)庫實例可以啟動多個調(diào)度進(jìn)程 C.在共享服務(wù)器操作模式下,Oracle 實例將啟動調(diào)度進(jìn)程Dnnn 為用戶進(jìn)程分配服務(wù)進(jìn)程
4、 D.共享服務(wù)器操作模式可以實現(xiàn)少量服務(wù)器進(jìn)程為大量用戶進(jìn)程提供服務(wù) 7.當(dāng)數(shù)據(jù)庫運(yùn)行在歸檔模式下時,如果發(fā)生日志切換,為了保證不覆蓋舊的日志信息,系統(tǒng) 將啟動如下哪一個進(jìn)程? D A.DBWR B.LGWR C.SMON D.ARCH 8.下列哪一個進(jìn)程和數(shù)據(jù)庫部件可以保證用戶對數(shù)據(jù)庫所做的修改在沒有保存的情況下,不 會發(fā)生丟失修改數(shù)據(jù)? C A.DBWR 和數(shù)據(jù)文件 B.LGWR 和日志文件組 C.CKPT 和控制文件 D.ARCH 和歸檔日志文件 9.下列哪一個進(jìn)程用于將修改過的數(shù)據(jù)從內(nèi)存保存到磁盤數(shù)據(jù)文件中? A A.DBWR B.LG
5、WR C.RECO D.ARCH 10.如果要查詢數(shù)據(jù)庫中所有表的信息,應(yīng)當(dāng)使用下列哪種數(shù)據(jù)字典視圖? A A.DBA 視圖 B.ALL 視圖 C.USER 視圖 D.動態(tài)性能視圖 11.下列哪一項是Oracle 數(shù)據(jù)庫中最小的存儲分配單元? D A.表空間 B.段 C.盤區(qū) D.數(shù)據(jù)塊 12.下面的各項中哪一個正確描述了Oracle 數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)? A A.表空間由段組成,段由盤區(qū)組成,盤區(qū)由數(shù)據(jù)塊組成 B.段由表空間組成,表空間由盤區(qū)組成,盤區(qū)由數(shù)據(jù)塊組成 C.盤區(qū)由數(shù)據(jù)塊組成,數(shù)據(jù)塊由段組成,段由表空間組成 D.數(shù)據(jù)塊
6、由段組成,段由盤區(qū)組成,盤區(qū)由表空間組成 第三章 一、填空題 1.標(biāo)準(zhǔn)的SQL 語言語句類型可以分為:數(shù)據(jù)定義語句(DDL)、數(shù)據(jù)操縱語句(DML)和數(shù) 據(jù)控制語句(DCL)。 2.在需要濾除查詢結(jié)果中重復(fù)的行時,必須使用關(guān)鍵字Distinct;在需要返回查詢結(jié)果中的 所有行時,可以使用關(guān)鍵字ALL。 3.如果需要在SELECT 子句中包括一個表的所有列,可使用符號*。 4.如果定義與組有關(guān)的搜索條件,可以把group by 子句添加到SELECT 語句中。 5.當(dāng)進(jìn)行模糊查詢時,就使用關(guān)鍵字LIKE 和通配符"_"或百分號"%"。 6.WHERE 子句可以接收FROM
7、 子句輸出的數(shù)據(jù),而HAVING 子句則可以接收來自group by、 FROM 或where 子句的輸入。 7.使下列SQL 語句中添加適當(dāng)?shù)谋磉_(dá)式或子句,使語句可以正常運(yùn)行。 SELECT 供應(yīng)商所在城市,COUNT(供應(yīng)商編號) FROM 供應(yīng)商信息 GROUP BY 供應(yīng)商所在城市 ORDER BY 2 DESC; 二、選擇題 1.下列的哪個子句在SELECT 語句中用于排序結(jié)果集? D A.HAVING 子句 B.WHERE 子句 C.FROM 子句 D.ORDER BY 子句 2.為了去除結(jié)果集中重復(fù)的行,可在SELECT 語句中使用下列哪個關(guān)鍵字? B
8、 A.ALL B.DISTINCT C.SPOOL D.HAVING 3.下列哪個關(guān)鍵字或子句用來限定查詢結(jié)果集中的行? B A.SELECT B.WHERE C.UPDATE D.INSERT 4.GROUP BY 子句的作用是什么? A A.查詢結(jié)果的分組條件 B.組的篩選條件 C.限定返回的行的判斷條件 D.對結(jié)果集進(jìn)行排序 5.HAVING 子句的作用是B A.查詢結(jié)果的分組條件 B.組的篩選條件 C.限定返回的行的判斷條件 D.對結(jié)果集進(jìn)行排序 6.下列哪個函數(shù)可以把一個列中的所有值相加求和? B A.MAX B.SUM
9、 C.COUNT D.AVG 7.下列哪個子句是SELECT 語句中必選項? A A.FROM B.WHERE C.HAVING D.ORDER BY 8.當(dāng)使用三角函數(shù)COS 求余弦時,應(yīng)以B 為單位傳遞參數(shù)。 A.角度 B.弧度 C.角度和弧度均可 D.上述都不對 9.下列哪個子句實現(xiàn)對一個結(jié)果集進(jìn)行分組和匯總? D A.HAVING B.ORDER BY C.WHERE D.GROUP BY 10.查詢一個表的總記錄數(shù),可以采用C 統(tǒng)計函數(shù)。 A.AVG(*) B.SUM(*) C.COUNT(*
10、) D.MAX(*) 第四章 一、填空題 1.在SQL 語句中,用于向表中插入數(shù)據(jù)的語句是Insert。 2.如果需要向表中插入一批已經(jīng)存在的數(shù)據(jù),可以在INSERT 語句中使用select 語句。 3.創(chuàng)建一個UPDATE 語句來修改ARTISTS 表中的數(shù)據(jù),并且把每一行的T_ID 值都改成15, 應(yīng)該使用的SQL 語句是update artists set t_id=15;。 4.使用describe 命令可以顯示表的結(jié)構(gòu)信息。 5.使用SQL*Plus 的get 命令可以將文件檢索到緩沖區(qū),并且不執(zhí)行。 6.當(dāng)設(shè)置了多個列的顯示屬性后,如果清除設(shè)置的顯示屬性
11、,可以使用命令clear,而當(dāng)要 清除某列具體的顯示屬性時,需要使用命令OFF。 7.使用SAVE 命令可以將緩沖區(qū)中的SQL 命令保存到一個文件中,并且可以使用Start 命令 運(yùn)行該文件。 8.要設(shè)置SQL*Plus 顯示數(shù)字時的格式可以使用NumFormat 命令,而要設(shè)置某個數(shù)字列的 顯示格式要使用Column 命令。 二、選擇題 1.要建立一個語句向Types 表中插入數(shù)據(jù),這個表只有兩列,T_ID 和T_Name 列。如果要插 入一行數(shù)據(jù),這一行的T_ID 值是100,T_Name 值是FRUIT。應(yīng)該使用的SQL 語句是A 。 A.INSERT INTO Typ
12、es Values(100,'FRUIT') B.SELECT * FROM Types WHERE T_ID=100 AND T_Name='FRUIT' C.UPDATE SET T_ID=100 FROM Types WHERE T_Name='FRUIT' D.DELETE * FROM Types WHERE T_ID=100 AND T_Name='FRUIT' 2.用A 語句修改表的一行或多行數(shù)據(jù)。 A.UPDATE B.SET C.SELECT D.WHERE 3.要建立一個UPDATE 語句更新表的某一列數(shù)據(jù),且更新的數(shù)據(jù)為表統(tǒng)計的結(jié)果。則需
13、要 在UPDATE 語句中使用什么語句? C A.UPDATE B.SET C.SELECT D.WHERE 4.DELETE 語句中用B 語句或子句來指明表中所要刪除的行。 A.UPDATE B.WHERE C.SELECT D.INSERT 5.使用什么命令可以清除表中所有的內(nèi)容? D A.INSERT B.UPDATE C.DELETE D.TRUNCATE 6.如果要設(shè)置SQL*Plus 每頁打印的數(shù)量,則可以使用如下的哪個命令? C A.SET PAGE B.PAGESIZE C.SET PA
14、GESIZE D.SIZE 7.以下的哪個命令可以將SQL 命令保存到文件中A 。而哪個命令可以將SQL 命令的運(yùn)行結(jié)果保存到文件中B 。 A.SAVE B.SPOOL C.GET D.INPUT 第五章 一、填空題 1.在Oracle 系統(tǒng)中,為了實現(xiàn)對表、視圖和索引等數(shù)據(jù)庫對象進(jìn)行管理,Oracle 采用模式實現(xiàn)。 2.一個模式只能夠被一個數(shù)據(jù)庫用戶所擁有,其創(chuàng)建的所有模式對象都保存在自己的模式 中。 3.Char 數(shù)據(jù)類型與Varchar2 類型都用于存儲字符串。如果定義了Char 類型的字段,并且 向其賦值時,字符串的長度小于定義的長度
15、,則使用空格填充;而Varchar2 類型的字段用 于存儲變長的字符串,即如果向該列賦值的字符長度小于定義時的長度,該列的字符長度只 會是實際字符數(shù)據(jù)的長度,系統(tǒng)不會使用空格填充。 4.ROWID 實際上保存的是記錄的物理地址,因此通過ROWID 來訪問記錄右以獲得最快的訪問速度。 5.在STORAGE 子句中可以設(shè)置6 個存儲參數(shù)。其中,Initial 指定為表中的數(shù)據(jù)分配的第一 個盤區(qū)的大?。籒ext 指定為存儲表中的數(shù)據(jù)分配的第二個盤區(qū)大?。籔ctincrease 指定從第二個盤區(qū)之后,每個盤區(qū)相對于上一個盤區(qū)的增長百分比;Minextents 指定允許為表中的數(shù)據(jù)所分配的最小
16、盤區(qū)數(shù)目;Maxextents 指定允許為表中的數(shù)據(jù)所分配的最大盤區(qū)數(shù)目。 6.通過數(shù)據(jù)塊空間管理參數(shù)可以控制數(shù)據(jù)塊中空閑空間的使用方法,其中Pctfree 用于控制 數(shù)據(jù)塊的更新預(yù)留的空間,而Pctused 用于控制數(shù)據(jù)塊在刪除時釋放空間的門檻。 7.為Student 表手動分配存儲空間,并且大小由NEXT 參數(shù)設(shè)置,則應(yīng)使用的語句為Alter table Student allocate extent; ;如果為Student 表手動分配了一個大小為128KB 的新盤區(qū),則應(yīng)使用的語句為Alter table Student allocate extent(size 128k);
17、。 8.填寫下面語句,使其可以將Class 表移動到表空間SYSTEM 中的數(shù)據(jù)段,并且其初始化盤 區(qū)為30KB,第二個盤區(qū)為20KB,隨后分配的盤區(qū)不會增長。 ALTER TABLE Class move TABLESPACE SYSTEM STORAGE ( Initial 30k Next 20k Pctincrease 0 MAXEXTENTS UNLIMITED); 9.根據(jù)約束的作用域,約束可以分為表級約束和列級約束兩種。列級約束是字段定義的一部 分,只能夠應(yīng)用在一個列上;而表級約束的定義獨立于列的定義,它可以應(yīng)用于一個表中的 多個列。 10.填寫下面的語
18、句,使其可以為Class 表的ID 列添加一個名為PK_CLASS_ID 的主鍵約束。 ALTER TABLE Class Add constraint PK_CLASS_ID PRIMARY KEY(ID) 11.假設(shè)已經(jīng)創(chuàng)建了CHAINED_ROWS 表,填寫下面的語句,以便對“業(yè)務(wù)員信息”表進(jìn)行 鏈接記錄分析: ANALYZE TABLE 業(yè)務(wù)員信息 List chained rows into chained_rows 二、選擇題 1.下列哪個對象屬于模式對象? C A.數(shù)據(jù)段 B.盤區(qū) C.表 D.表空間 2.關(guān)于模式的描述下列哪一項不正確?
19、C A.表或索引等模式對象一定屬于某一個模式 B.在Oracle 數(shù)據(jù)庫中,模式與數(shù)據(jù)庫用戶是一一對應(yīng)的 C.一個表可以屬于多個模式 D.一個模式可以擁有多個表 3.如果一個表中某條記錄的一個字段暫時不具有任何值,那么在其中將保存什么內(nèi)容? C A.空格字符 B.數(shù)字0 C.NULL D.該字段數(shù)據(jù)類型的默認(rèn)值 4.下列哪一項不是偽列ROWID 的作用? D A.保存記錄的物理地址 B.快速查詢指定的記錄 C.標(biāo)識各條記錄 D.保存記錄的頭信息 5.下列哪一項錯誤地描述了默認(rèn)值的作用? B A.為表中某列定義默認(rèn)值后,如果向表中添加記錄而未為該列提供
20、值,則使用定義的默認(rèn)值 代替 B.如果向表中添加記錄并且為定義默認(rèn)值的列提供值,則該列仍然使用定義的默認(rèn)值 C.如果向表中添加記錄并且為定義默認(rèn)值的列提供值,則該列使用提供的值 D.向表中添加記錄時,如果定義默認(rèn)值的列提供值為NULL,則該列使用NULL 值 6.某用戶需要創(chuàng)建一個很小的表,但是該表會被許多查詢使用,這時用戶應(yīng)當(dāng)在創(chuàng)建該表時 指定下列哪個子句? B A.PCTFREE 和PCTUSED B.CACHE C.NOLOGGING D.TABLESPACE 7.為了減少表中的鏈接記錄和遷移記錄,應(yīng)當(dāng)增大表的哪一個存儲參數(shù)? A A.PCTFREE
21、 B.PCTUSED C.MAXEXTENTS D.PCTINCREASE 8.唯一約束與主鍵約束的一個區(qū)別是? D A.唯一約束的列的值不可以有重復(fù)值 B.唯一約束的列的值可以不是唯一的 C.唯一約束的列不可以為空值 D.唯一約束的列可以為空值 9.如果為表Employee 添加一個字段Email,現(xiàn)在規(guī)定每個雇員都必須具有唯一的Email 地址,則應(yīng)當(dāng)為Email 字段建立哪種約束? B A.Primary Key B.UNIQUE C.CHECK D.NOT NULL 第六章 一、填空題 1.在使用逗號連接的多表查詢中,為了防
22、止出現(xiàn)笛卡兒積,需要SELECT 語句的Where 子 句中提供連接條件。 2.使用逗號連接的多表查詢中,用戶可以根據(jù)下述基本原則創(chuàng)建需要的各種查詢:From 子 句應(yīng)當(dāng)包括所有的表名,在Where 子句中應(yīng)定義一個連接條件,當(dāng)列名為多個表共有時, 列名必須被限制。 3.自然連接為具有相同名稱的列自動進(jìn)行記錄匹配,它不必指定任何同等連接條件。 4.集合運(yùn)算符UNION 實現(xiàn)了集合的并運(yùn)算,操作INTERSECT 實現(xiàn)了對集合的交運(yùn)算,而 MINUS 則實現(xiàn)了減運(yùn)算。 5.使用關(guān)鍵字連接子查詢時,EXISTS 關(guān)鍵只注重子查詢是否返回行,如果子查詢返回一個 或多個行,那么便返回
23、為真,否則為假。 二、選擇題 1.下列哪一種連接與逗號分隔連接執(zhí)行的效果相同? C A.外連接 B.交叉連接 C.自然連接 D.內(nèi)連接 2.如果只需要返回匹配的列,則應(yīng)當(dāng)使用哪種連接? A A.內(nèi)連接 B.交叉連接 C.左連接 D.全連接 3.下列SELECT 語句中,哪些子句可以包含子查詢? C A.SELECT B.GROUP BY C.WHERE D.ORDER BY 4.如果使用逗號分隔連接查詢兩個表,其中一表有20 行,而另一個表有50 行,如果未使用 WHERE 子句,則將返回多少行? B A.20 B.1000
24、 C.50 D.500 5.下列的SELECT 語句中哪個不能正常運(yùn)行? D A. SELECT STD,SNAME,SCLASS,CNAME FROM STUDENT S,CLASS C WHERE SCLASS=CID; B. SELECT * FROM STUDENT S,CLASS C WHERE SCLASS=CID; C. SELECT S.SID,S.NAME,SCLASS,C.CNAME FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID; D. SELECT S.SID,S.SNAME,SCLASS,C
25、.CNAME FROM STUDENT WHERE SCLASS S IN (SELECT CID FROM CLAS C); 6.下面的A SELECT 語句用于查詢SCHOOL 模式中的STUDENT 、CLASS 和 DEPARTMENT 表中的信息。完成該語句,使其可以正常運(yùn)行。 SELECT s.sname,s.saddress,ame,D.DNAME,D.DOFFICE FROM STUDENT S _________ CLASS C ________ _________ DEPARTMENT D WHERE D.DNAME='法律系'; A.JOIN、ON S.SC
26、LASS=C.CID、JOIN、ON D.DID=C.DEPARTMENT B.NATURAL JOIN、ON D.DID=C.DEPARTMENT、JOIN、ON S.SCLASS=C.CID C.CROSS JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DERPARTMENT D.JOIN、ON S.SCLASS=C.CID、NATURAL JOIN、ON D.DID=C.DEPARTMENT 7.在下面各選項中, B 與下面SELECT 語句的查詢結(jié)果相同。 SELECT SID,SNAME,SADDRESS FROM STUDENT WHER
27、E SCLASS='C0010545' OR SCLASS IN( SELECT CID FROM CLASS WHERE DEPARTMENT IN( SELECT DID FROM DEPARTMENT WHERE DNAME='化工系')); A. SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' INTERSECT SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN
28、(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); B. SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' UNION SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN (SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); C. SELECT * FROM STUDENT WHERE SCL
29、ASS='C0010545' UNION SELECT * FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN (SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); D. SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' MINUS SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.D
30、EPARTMENT IN (SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); 第七章 一、填空題 1.PL/SQL 程序塊主要包含3 個主要部分:聲明部分、可執(zhí)行部分和異常處理部分。 2.使用顯式游標(biāo)主要有4 個步驟:聲明游標(biāo)、打開游標(biāo)、檢索數(shù)據(jù)、關(guān)閉游標(biāo)。 3.在PL/SQL 中, 如果SELECT 語句沒有返回列, 則會引發(fā)ORACLE 錯誤, 并引發(fā) no_data_found 異常。 4.自定義異常必須使用raise 語句引發(fā)。 5.查看操作在數(shù)據(jù)表中所影響的行數(shù),可通過游標(biāo)的%RowCount 屬性實現(xiàn)。 6.查看下
31、面的程序塊,DBMS_OUTPUT 將顯示什么結(jié)果? N DECLARE var_a CHAR(1):='N'; BEGIN DECLARE var_a CHAR(2); BEGIN var_a:='Y'; END; DBMS_OUTPUT.put_line(var_a); END; 7.查看下面的程序塊,其中變量var_b 的結(jié)果為5 。 DECLARE Var_a number:=1200; Var_b number; BEGIN IF var_a>500 THEN var_b:=5; ELSIF var_a>1000 THEN var_b:=10;
32、 ELSE var_b:=8; END IF; END; 8.下列程序計算由0~9 之間的任意3 個不相同的數(shù)字組成的三位數(shù),共有多少種不同的組合 方式?完成下列程序使其能夠正確運(yùn)行。 DECLARE counter number:=0; BEGIN FOR i IN 1..9 LOOP FOR j IN 0..9 LOOP IF i!=j THEN FOR k IN 0..9 LOOP IF k!=i and k!=j THEN counter:=counter+1; END IF; END LOOP; END IF; END LOOP; END LOO
33、P; DBMS_OUTPUT.put_line(counter); END; 二、選擇題 1.以下定義的哪個變量是非法的? B A.var_ab NUMBER(3); B.var_ab NUMBER(3) NOT NULL:='0'; C.var_ab NUMBER(3) DEFAULT:=1; D.var_ab NUMBER(3):=3; 2.下列哪一個不是BOOLEAN 變量可能的取值? D A.TRUE B.FALSE C.NULL D.BLANK 3.只能存儲一個值的變量是哪種變量? B A.游標(biāo) B.標(biāo)題變量 C.游
34、標(biāo)變量 D.記錄變量 4.聲明%TYPE 類型的變量時,服務(wù)器將會做什么操作? A A.為該變量檢索數(shù)據(jù)庫列的數(shù)據(jù)類型 B.復(fù)制一個變量 C.檢索數(shù)據(jù)庫中的數(shù)據(jù) D.為該變量檢索列的數(shù)據(jù)類型和值 5.下列哪一項可以正確地引用記錄變量中的一個值? B A.rec_abc(1); B.rec_abc(1).col; C.rec_abc.col; D.rec_abc.first(); 6. 下列哪個語句允許檢查UPDATE 語句所影響的行數(shù)? B A.SQL%FOUND B.SQL%ROWCOUNT C.SQL%COUNTD D.SQL%NOTFOU
35、ND 7.在定義游標(biāo)時使用的FOR UPDATE 子句的作用是B A.執(zhí)行游標(biāo) B.執(zhí)行SQL 語句的UPDATE語句 C.對要更新表的列進(jìn)行加鎖 D.都不對 8.對于游標(biāo)FOR 循環(huán),以下哪一種說法是不正確的? D A.循環(huán)隱含使用FETCH 獲取數(shù)據(jù) B.循環(huán)隱含使用OPEN 打開記錄集 C.終止循環(huán)操作也就關(guān)閉了游標(biāo) D.游標(biāo)FOR 循環(huán)不需要定義游標(biāo) 9.下列哪個關(guān)鍵字用來在IF 語句中檢查多個條件? B\C A.ELSE IF B.ELSIF C.ELSIF D.ELSIFS 10.如何終止LOOP 循環(huán),而不會出現(xiàn)死循環(huán)? C A.在
36、LOOP 語句中的條件為FALSE 時停止 B.這種循環(huán)限定的循環(huán)次數(shù),它會自動終止循環(huán) C.EXIT WHEN 語句中的條件為TRUE D.EXIT WHEN 語句中的條件為FALSE 11.下列哪一項可以正確引用記錄表變量中的一個值? B A.tab_abc(1); B.tab_abc(1).col C.tab_abc.col; D.tab_abc.first(); 12.如果PL/SQL程序塊的可執(zhí)行部分引發(fā)了一個錯誤,則程序的執(zhí)行順序?qū)l(fā)生什么變化?A A.程序?qū)⑥D(zhuǎn)到EXCEPTION部分運(yùn)行 B.程序?qū)⒅兄惯\(yùn)行 C.程序仍然正常運(yùn)行 D.以上都不對
37、 第八章 一、填空題 1.在下面程序的空白處填寫一定的代碼,使該函數(shù)可以獲取指定編號的商品價格。 CREATE OR REPLACE FUNCTION get_price (P_ID varchar2) return number is v_price NUMBER; BEGIN SELECT 單價 into v_price FROM 商品信息WHERE 商品編號=P_ID; RETURN v_price; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('查找的商品不存在!'); WHEN TOO_
38、MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE(' 程序運(yùn)行錯誤!請使用游標(biāo)'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('發(fā)生其他錯誤!'); END get_price; 2.假設(shè)有一個程序包,其中包含了兩個重載的函數(shù)max。寫出下面程序調(diào)用max 函數(shù)后的運(yùn) 行結(jié)果。 程序包主體: Create or replace package body TEST is Function max(x in number,y in number) return number is Result number; Begin
39、 x>y then Result:=x; Else Result:=y; End if; Return (result)' End max; Function max(x in number,y in number,z in number) return number is result number; Begin Result:=test.max(x,y); Result:=test.max(result,z); Return(result); End max; End; 調(diào)用程序塊: begin dbms_output.put_line(TEST.max
40、(10,21,12)); end; 運(yùn)行結(jié)果: 21 3.在下面程序的空白處填寫適當(dāng)?shù)拇a,使得調(diào)用該過程時可以統(tǒng)計某產(chǎn)地的商品數(shù)量和總 價。 CREATE OR REPLACE PROCEDURE proc_demo( Merch_place IN varchar2, Price_sum out NUMBER, Merch_count out NUMBER) IS BEGIN SELECT SUM(單價),COUNT(*) INTO Price_sum,Merch_count FROM 商品信息WHERE 產(chǎn)地=Merch_place; EXCEPTION WHE
41、N NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('所需數(shù)據(jù)不存在!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('發(fā)生其他錯誤!'); END proc_demo; 二、選擇題 1.下列哪個語句可以在SQL*Plus 中直接調(diào)用一個過程? D A.RETURN B.CALL C.SET D.EXEC 2.下面哪些不是過程中參數(shù)的有效模式? C A.IN B.IN OUT C.OUT IN D.OUT 3.如果存在一個名為TEST 的過程,它包含3 個參數(shù):第一
42、個參數(shù)為P_NUM1,第二個參數(shù) 為P_NUM2,第三個參數(shù)為P_NUM3。3 個參數(shù)的模式都是IN。P_NUM1 參數(shù)的數(shù)據(jù)類型 是NUMBER , P_NUM2 參數(shù)的數(shù)據(jù)類型是VARCHAR2 , 第三個參數(shù)的數(shù)據(jù)類型是 VARCHAR2。下列哪一個是該過程的有效調(diào)用? D A.TEST(1010,P_NUM3=>'abc',P_NUM2=>'bcd') B.TEST(P_NUM1=>1010,P_NUM2=>''abc','bcd') C.TEST(P_NUM1=>1010,'abc','bcd') D.上述都對 4.函數(shù)頭部中的RETURN 語句的作用是什么? A
43、A.聲明返回的數(shù)據(jù)類型 B.聲明返回值的大小和數(shù)據(jù)類型 C.調(diào)用函數(shù) D.函數(shù)頭部不能使用RETURN 語句 5.根據(jù)下面的匿名程序塊,判斷CHECK_VALUE 程序單元是否為一個函數(shù)? D DECLARE V_TEST NUMBER; BEGIN IF V_TEST > 10 THEN CHECK_VALUE(V_TEST); END IF; END; A.可以為一個函數(shù) B.可以,但函數(shù)必須不包含任何SQL 語句 C.可以,但需要初始化變量V_TEST D.不可以 6.如果在程序包的主體中包括了一個過程,但沒有在程序包規(guī)
44、范中聲明這個過程,那么它將 會被認(rèn)為是D 。 A.非法的 B.公有的 C.受限的 D.私有的 7.如果創(chuàng)建了一個名為USERPKG 的程序包,并在程序包中包含了名為test 的過程。下列哪 一個是對這個過程的合法調(diào)用? B A.test(10) B.USERPKG.test(10) C.TEST.USERPKG(10) D.TEST(10).USERPKG 8.可以引用哪個數(shù)據(jù)字典視圖來查看軟件包中包含的代碼? C A.USER_OBJECTS B.USER_PACKAGE_TEXT C.USER_SOURCE D.USER_TEXT 9.對于下面
45、的函數(shù),哪個語句將成功地調(diào)用? D CREATE OR REPLACE FUNCTION Calc_Sum(Addend_X number,Addend_Y number) Return number As Sum number; BEGIN Sum :=Addend_X+Addend_Y; Return Sum; END; A.Calc_Sum B.EXECUTE Calc_Sum(45) C.EXECUTE Calc_Sum(23,12)D.Sum:=Calc_Sum(23,12) 10.當(dāng)滿足下列哪種條件時,允許兩個過程具有相同的名稱? B A.參數(shù)的名稱或數(shù)量不相同時
46、 B.參數(shù)的數(shù)量或數(shù)據(jù)類型不相同時 C.參數(shù)的數(shù)據(jù)類型和名稱不相同時 D.參數(shù)的數(shù)量和數(shù)據(jù)類型不相同時 第九章 一、填空題 1.為了建立外部表,首先需要指示數(shù)據(jù)文件在操作系統(tǒng)上的位置。現(xiàn)在假設(shè)在操作系統(tǒng)的 F:\DATAFILE 文件夾中存有一個數(shù)據(jù)文件, 使用create directory exterior_data as 'F:\DATAFILE';語句使Oracle 可以訪問數(shù)據(jù)文件。 2.在使用CREATE TABLE 語句創(chuàng)建索引組織表時,必須使用organization index 子句指示 創(chuàng)建的表為索引組織表,并且為索引組織表指定主鍵。 3.PC
47、TTHRESHOLD 指定一個數(shù)據(jù)塊的百分比,當(dāng)一行中的數(shù)據(jù)占用空間大于這個百分比時,該行將被分隔到兩個位置存儲:主鍵列被存儲在基本索引段中,所有其他列被存儲在溢出段中。 4.Oracle 中的臨時表可以分為事務(wù)級臨時表和會話級臨時表,創(chuàng)建事務(wù)級別的臨時表,需要使用on commit delete rows 子句;創(chuàng)建一個會話級別的臨時表,則需要使用on commit preserver rows 子句。 5.在創(chuàng)建對象類型時,用戶不必特意創(chuàng)建構(gòu)造函數(shù),它由系統(tǒng)隱式創(chuàng)建,名稱與對象類型的 名稱相同,并且它會接收對象類型的所有屬性作為它的參數(shù)。 6.如果用戶想要對對象類型的實例進(jìn)行比較
48、排序,則需要使用映射方法Map,它最重要的一 個特點是:當(dāng)在WHERE 或ORDER BY 等比較關(guān)系子句中使用對象時會被間接地使用。 7.有兩種方法向?qū)ο蟊硖砑訑?shù)據(jù):一種是像關(guān)系表一樣在INSERT 的VALUES 子句中,為對 象的每個屬性提供值,隱式地創(chuàng)建對象類型實例,向?qū)ο蟊硖砑訑?shù)據(jù);另一種方式是顯式地 創(chuàng)建對象實例,然后再將它添加到對象表。 8.Oracle 數(shù)據(jù)庫提供對表或索引的分區(qū)方法有5 種:范圍分區(qū)、散列分區(qū)、列表分區(qū)、組合范圍散列分區(qū)和組合范圍列表分區(qū)。 9.簇是一種用于存儲數(shù)據(jù)表中數(shù)據(jù)的方法。簇實際是一組表,由一組共享相同數(shù)據(jù)塊的多個 表組成。 二、選擇題
49、 1.假設(shè)兩個數(shù)據(jù)文件t1 和t2,下面的A 選項可以完成外部表的創(chuàng)建。 Create table test_table(ms_id varchar(20), Tip varchar(20), Desc varchar(20)) ORGANIZATION ______ ( _____ ORACLE_LOADER DEFAULT DIRECTORY test_dir _______ Parameters( badfile 'bad_dev.txt' LOGFILE 'log_dev.txt' FIELDS TERMINATED BY ',') _________ ('F1.tx
50、t','F2.txt')); A.EXTERNAL、TYPE、ACCESS、LOCATION B.INDEX、TYPE、ACCESS、LOCATION C.EXTERNAL、TYPE、ACCEPT、LOAD D.INDEX、TYPE、ACCEPT、LOAD 2.下列關(guān)于索引組織表的說法哪項是錯誤的? D A.索引組織表所有的數(shù)據(jù)都是以B 樹索引的方式存儲的 B.索引組織表實際是一個表而不是索引 C.索引組織表適用于經(jīng)常需要通過主鍵字段的值來查詢的情況 D.索引組織表不能通過查詢來創(chuàng)建 3.下列關(guān)于對象的描述哪項是錯誤的? B A.為對象表添加數(shù)據(jù)時,可以在INSERT
51、語句的VALUES 子句中直接提供值,隱式創(chuàng)建對 象類型實例,然后向表中添加數(shù)據(jù);也可以顯式創(chuàng)建對象實例后向表中添加數(shù)據(jù) B.對象表與其他類型的表一樣,都是作為列的集合 C.對象表中的每個對象都有一個OID,OID 是全局唯一的,表示每一個對象的實例 D.查詢對象表時,對象表中的數(shù)據(jù)以關(guān)系的形式顯示,但也可以通過使用VALUE()函數(shù)以 對象實例的形式顯示 4.下列哪一個語句可以用于創(chuàng)建一個多列的分區(qū)表? B A. Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date) P
52、artition by range(ID,re_date) (partition p1 values less than (2000) or values less than (date'1988-1-1') Tablespace users storage(initial 100k next 100k minextents 1 maxextents unlimited), Partition p2 values less than (maxvalue) or values less than (maxvalue) Tablespace system storage(initial 1
53、00k next 100k minextents 1 maxextents unlimited)); B. Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date) Partition by range(ID,re_date) (partition p1 values less than (2000,date'1988-1-1') Tablespace users storage(initial 100k next 100k minextents 1 maxextents unlim
54、ited), Partition p2 values less than (maxvalue,maxvalue) Tablespace system storage(initial 100k next 100k minextents 1 maxextents unlimited)); C. Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date) Partition by range(ID) Subpartition by range(re_date) (partition p1
55、 values less than (2000) or values less than (date'1988-1-1') Tablespace users, Partition p2 values less than (maxvalue) or values less than (maxvalue) Tablespace system ); D. Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date) Partition by range(ID) Subpartition b
56、y range(re_date) (partition p1 values less than (2000,date'1988-1-1') Tablespace users, Partition p2 values less than (maxvalue,maxvalue) Tablespace system ); 5.假設(shè)要對“商品信息”表進(jìn)行分區(qū)處理,并且根據(jù)商品的產(chǎn)地進(jìn)行分區(qū),則應(yīng)采用下列哪 一種分區(qū)方法? C A.范圍分區(qū) B.散列分區(qū) C.列表分區(qū) D.組合范圍散列分區(qū) 6.下列哪一項是關(guān)于簇和簇表不正確的描述? D A.簇實際上是一組表 B.因為簇將
57、不同表的相關(guān)行一起存儲到相同的數(shù)據(jù)塊中,所以合理使用簇可以幫助減少查 詢數(shù)據(jù)所需的磁盤讀取量 C.簇表是簇中某一個表 D.在創(chuàng)建簇和簇表之后就可以向其中添加數(shù)據(jù) 第十章 一、填空題 1.B 樹索引可以是唯一的或者不唯一的,唯一的B 樹索引可以保證索引列上不會有重復(fù)的值。 2.在為表中某個列定義PRIMART KEY 約束PK_ID 后,則系統(tǒng)默認(rèn)創(chuàng)建的索引名為PK_ID。 3.在B 樹索引中,通過在索引中保存排過序的索引列的值與相對應(yīng)的RowID 來實現(xiàn)快速查 找。 4.如果表中某列的基數(shù)比較低,則應(yīng)該在該列上創(chuàng)建位圖索引。 5.如果要獲知索引的使用情況,可以通過
58、查詢V$OBJECT_USAGE 視圖;而要獲知索引的 當(dāng)前狀態(tài),可以查詢Index_Stats 視圖。 二、選擇題 1.查看下面的語句創(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ù)的索引 2.使用ALTER INDEX...REBUILD 語句不可以執(zhí)行下面的哪個任務(wù)? D A.將反向鍵索引重建為普通索引 B.將一個索引移動到另一個表空間
59、 C.將位圖索引更改為普通索引 D.將一個索引分區(qū)移動到另一個表空間 3.下列關(guān)于約束與索引的說法中,哪一項是不正確的? D A.在字段上定義PRIMART KEY 約束時會自動創(chuàng)建B 樹唯一索引 B.在字段上定義UNIQUE 約束時會自動創(chuàng)建一個B 樹唯一索引 C.默認(rèn)情況下,禁用約束會刪除對應(yīng)的索引,而激活約束會自動重建相應(yīng)的索引 D.定義FOREIGN KEY 約束時會創(chuàng)建一個B 樹唯一索引 4.假設(shè)EMPLOYEE 表包含一個MARRIAGE 列,用于描述職工的婚姻狀況,則應(yīng)該在該字 段上創(chuàng)建什么類型的索引? D A.B 樹唯一索引 B.B 樹不唯一索引 C.
60、基于函數(shù)的索引 D.位圖索引 5.下列關(guān)于索引的描述哪一項是不正確的? B A.表是否具有索引不會影響到所使用的SQL 編寫形式 B.在為表創(chuàng)建索引后,所有的查詢操作都會使用索引 C.為表創(chuàng)建索引后,可以提高查詢的執(zhí)行速度 D.在為表創(chuàng)建索引后,Oracle 優(yōu)化器將根據(jù)具體情況決定是否采用索引 6.如果經(jīng)常執(zhí)行類似于下面的查詢語句: SELECT * from student where Substr(sname,0,2)='劉' 應(yīng)當(dāng)為student 表中的sname 列創(chuàng)建哪一種類型的索引? D A.B 樹唯一索引 B.位圖索引 C.B 樹不唯一索引 D.基于函數(shù)
61、的索引 7.假設(shè)在一個表的3 個字段NAME、SEX 和MONTH_OF_BIRTH 中分別保存姓名、性別和 出生的月份數(shù)據(jù),則應(yīng)當(dāng)為這3 個字段分別創(chuàng)建何種類型的索引? D A.全部創(chuàng)建B 樹索引 B.全部創(chuàng)建位圖索引 C.分別創(chuàng)建B 樹索引、位圖索引和位圖索引 D.分別創(chuàng)建B 樹索引、位圖索引和基于函數(shù)的索引 8.如果創(chuàng)建的表其主鍵可以自動編號,則應(yīng)該為主鍵創(chuàng)建的索引是哪種類型? A A.反向鍵索引 B.B 樹索引 C.位圖索引 D.基于函數(shù)的索引 第十一章 一、填空題 1.在不為視圖指定列名的情況下,視圖列的名稱將使用表列的名稱。 2.視圖與數(shù)據(jù)庫中的表
62、非常相似,用戶也可以在視圖進(jìn)行INSERT、UPDATE、和DELETE 操作。通過視圖修改數(shù)據(jù)時,實際上是在修改基本表中的數(shù)據(jù);相應(yīng)地,改變基本表中的數(shù) 據(jù)也會反映到該表產(chǎn)生的視圖中。 3.視圖是否可以更新,這取決于定義視圖的SELECT 語句,通常情況下,該語句越復(fù)雜,創(chuàng)建的視圖可以更新的可能性也就越小。 4.下面的語句創(chuàng)建了一個序列對象,該序列對象的開始數(shù)為2,每次遞增2,當(dāng)大于1000 后, 序列值重新返回到2.在空白處填寫適當(dāng)?shù)拇a,完成上述要求。 Create sequence seg_test Start with 2 Increment by 2 Maxval
63、ue 1000 Cycle; 二、選擇題 1.如果允許用戶對視圖進(jìn)行更新和插入操作,但是又要防止用戶將不符合視圖約束條件的記 錄添加到視圖,應(yīng)當(dāng)在定義視圖時指定下列哪一個子句? C A.WITH GRANT OPTION B.WITH READ ONLY C.WITH CHECK OPTION D.WITH CHECK ONLY 2.在下列模式對象中,哪個對象不會占用實際的存儲空間? A A.視圖 B.表 C.索引 D.簇 3.如果想查看視圖中哪些字段是可以更新的,應(yīng)當(dāng)查詢哪一個數(shù)據(jù)字典視圖? D A.DBA_VIEWS B.DBA_OBJECTS
64、C.DBA_CLU_COLUMNS D.DBA_UPDATABLE_COLUMNS 4.在下列各選項中,關(guān)于序列的描述哪一項是不正確的? D A.序列是Oracle提供的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫對象 B.序列并不占用實際的存儲空間 C.使用序列時,需要用到序列的兩個偽列NEXTVAL 與CURRVAL。其中,NEXTVAL 將返回序 列生成的下一個值,而CURRVAL 返回序列的當(dāng)前值 D.在任何時候都可以使用序列的偽列CURRVAL,以返回當(dāng)前序列值 5.在下列各選項中,關(guān)于同義詞的描述哪一項是不正確的? B A.同義詞是數(shù)據(jù)庫對象的一個替代名,在使用同義詞時,Ora
65、cle 會將其翻譯為對應(yīng)的對 象名稱 B.在創(chuàng)建同義詞時,所替代的模式對象必須存在 C.Oracle 中的同義詞分為公有同義詞和私有同義詞 D.公有同義詞在數(shù)據(jù)庫中所有的用戶都可以使用;私有同義詞由創(chuàng)建它的用戶所擁有 第十二章 一、填空題 1.假設(shè)有一個表TEST,它僅包含一個字段DATA?,F(xiàn)在創(chuàng)建一個觸發(fā)器,實現(xiàn)將添加的數(shù) 據(jù)變大寫。在下面的空白處填寫適當(dāng)?shù)恼Z句,使之可以正常運(yùn)行。 Create or replace trigger test_trigger After insert on TEST for each row Begin :new.data
66、:=upper(:new.data); End; 2.BEFORE 和AFTER 指定了觸發(fā)器的觸發(fā)時間。當(dāng)為一個表配置了約束時,它們將會特別 有用,BEFORE 可以規(guī)定Oracle 在應(yīng)用約束前調(diào)用觸發(fā)器,而AFTER 規(guī)定在應(yīng)用約束后 調(diào)用觸發(fā)器。 3.假設(shè)有一個名為ACTION_TYPE 的表,它記錄了對STUDENT 表的操作。在空白處填寫 適當(dāng)?shù)拇a,完成上述功能。 Create or replace trigger biud_student_trigger Before insert or update or delete on student Declare Action action_type.type%type; Begin if inserting then action:='INSERT'; elsif updating then action:='UPDATE'; elsif deleting then action:='DELETE'; (書上此處有錯!) end if; insert into action_typ
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案