官术网_书友最值得收藏!

5.12 自測題

(1) 如果在沒有指定模式的情況下創建表,它會在哪種模式中(選擇一個最佳答案)?

A.它會是孤表,沒有模式

B.創建會失敗

C.會在SYS模式中

D.會在用戶創建它的模式中

E.會在PUBLIC模式中

(2) 幾個對象類型共享相同的名稱空間,因此在相同的模式中不能有相同的名稱。下面哪些對象類型不在與其他對象類型相同的名稱空間中(選擇一個最佳答案)?

A.索引

B. PL/SQL存儲過程

C.同義詞

D.表

E.視圖

(3) 下面哪些語句會因為表名不合法而失敗(選擇兩個正確答案)?

A.create table "SELECT" (col1 date);

B. create table "lowercase"(col1 date);

C.create table number1 (col1 date);

D.create table 1number (col1 date);

E.create table update (col1 date);

(4) 什么是堆表的顯著特性(選擇兩個正確答案)?

A.堆表可以保存可變長度的行

B.多個表可以在單個堆中保存行

C.堆中的行是隨機排列的

D.不能給堆表編索引

E.堆中的表沒有主鍵

(5) 下面哪些數據類型是可變長度的(選擇所有正確答案)?

A.BLOB

B. CHAR

C.LONG

D.NUMBER

E.RAW

F.VARCHAR2

(6) 分析下列語句:

        create table tab1 (c1 number(1), c2 date);
        alter session set nls_date_format='dd-mm-yy';
        insert into tab1 values (1.1, '31-01-07');

插入會成功嗎(選擇一個最佳答案)?

A.插入會失敗,因為1.1太長

B.插入會失敗,因為’31-01-07’是字符串不是日期

C.插入會因為A和B所述的原因而失敗

D.插入會成功

(7) Oracle不支持下面哪種數據類型作為內部數據類型(選擇一個最佳答案)?

A.CHAR

B. FLOAT

C.INTEGER

D.STRING

(8) 分析的語句:

        create table t1 as select * from regions where 1=2;

結果是什么(選擇一個最佳答案)?

A.會因為不可能的條件而失敗

B.不會創建表,因為條件返回FALSE

C.會創建表T1,但不會插入行,因為條件返回FALSE

D.會創建表T1,會插入REGIONS表中的所有行,因為條件返回NULL作為行過濾器

(9) 當使用下面的語句創建表時:

        create table newtab as select * from tab;

對新表有約束嗎(選擇一個最佳答案)?

A.對新表沒有約束,因為使用子查詢創建表時沒有復制約束

B. TAB上的所有約束都會復制到NEWTAB

C.會復制主鍵和唯一約束,但不會復制檢查約束和非空約束

D.會復制檢查約束和非空約束,但不會復制唯一約束和主鍵約束

E.會復制所有約束,外鍵約束除外

(10) 下列哪些約束要求使用索引(選擇所有正確答案)?

A.CHECK

B. NOT NULL

C.PRIMARY KEY

D.UNIQUE

(11) 某個事務由兩條語句組成。第一條語句執行成功,但是第二條語句(更新若干行)由于違反約束而失敗。此時會出現什么情況(選擇一個最佳答案)?

A.整個事務都會回滾

B.第二條語句的執行結果會被完全回滾,第一條語句的執行結果則會被提交

C.第二條語句的執行結果會被完全回滾,第一條語句的執行結果不會被提交

D.只有違反約束的更新操作被回滾,其他執行結果都會被提交

E.只有違反約束的更新操作被回滾,其他結果不會被提交

(12) 下列哪些關于索引的描述是正確的(選擇一個最佳答案)?

A.一個索引可以基于某個表的多個列,但是這些列必須具有相同的數據類型

B.一個索引可以基于某個表的多個列,但是這些列必須相鄰,并且必須按照它們在表中所定義的順序進行指定

C.如果某個索引與某個表位于相同的模式中,那么這個索引與這個表不能同名

D.以上敘述都不正確

(13) 下面的哪些選項可以用于B*樹索引,而不能用于位圖索引(選擇所有正確答案)?

A.壓縮

B.降序排序

C.基于函數的鍵表達式

D.反向鍵索引

E.唯一性

F.使用復合鍵

(14) 臨時表中數據的可見性受到限制。如果一個用戶以HR的身份登錄,并將行插入到臨時表中,這些行對誰可見(選擇一個最佳答案)?

A.只有執行插入操作的會話可以訪問

B.所有以HR身份登錄的會話

C.在執行插入操作的會話終止前,所有會話都可以訪問

D.在執行插入操作的會話提交事務前,所有會話都可以訪問

(15) 臨時表寫入磁盤的什么位置(選擇一個最佳答案)?

A.從不寫入磁盤

B.寫入用戶的臨時表空間

C.表所在模式的用戶的臨時表空間

D.寫入會話的用戶進程的本地磁盤

(16) 下面哪些選項定義了復雜視圖而不是簡單視圖的特征(選擇所有正確答案)?

A.通過僅選擇表的部分列來限制投影

B.用列的別名命名視圖的列

C.用WHERE子句限制行的選擇

D.執行聚合

E.聯接兩個表

(17) 分析下面三條語句:

        create view v1 as select department_id, department_name, last_name from
        departments join employees using (department_id);
        select department_name, last_name from v1 where department_id=20;
        select d.department_name, e.last_name from departments d, employees e
        where d.department_id=e.department_id and
        d.department_id=20;

第一個查詢會比第二個查詢快,因為(選擇一個最佳答案):

A.視圖已經完成了聯接表的工作

B.視圖使用ISO標準聯接語法,它比第二個查詢中使用的Oracle聯接語法快

C.視圖是預編譯的,因此第一個查詢需要的動態編譯比第二個查詢少

D.沒有理由使第一個查詢更快

(18) 研究這個視圖創建語句:

        create view dept30 as
        select department_id, employee_id, last_name from employees
        where department_id=30 with check option;

是什么導致如下語句失敗(選擇一個最佳答案)?

        update dept30 set department_id=10 where employee_id=114;

A.除非另外指定,否則視圖會被創建為WITH READ ONLY

B.視圖太復雜而不允許DML操作

C.WITH CHECK OPTION會拒絕任何修改DEPARTMENT_ID的語句

D.該語句會成功

(19) 表SCOTT.DEPT上有一個簡單的視圖SCOTT.DEPT_VIEW。這個插入失敗了,并出現如下錯誤:

        SQL> insert into dept_view values('SUPPORT', 'OXFORD');
        insert into dept_view values('SUPPORT', 'OXFORD')
        *
        ERROR at line 1:
        ORA-01400: cannot insert NULL into ("SCOTT"."DEPT"."DEPTNO")

問題可能出在哪里(選擇一個最佳答案)?

A.INSERT違反了明細表上的約束

B. INSERT違反了視圖上的約束

C.視圖被創建為WITH READ ONLY

D.視圖被創建為WITH CHECK OPTION

(20) 公有同義詞區別于私有同義詞的特征是什么(選擇兩個正確答案)?

A.公有同義詞總是對所有用戶可見

B.公有同義詞可以根據名稱訪問,不需要模式名稱限定符

C.可以從公有同義詞中進行選擇,不需要任何權限

D.公有同義詞可以與表或視圖有相同的名稱

(21) 分析下面三條語句:

        create synonym s1 for employees;
        create public synonym s1 for departments;
        select * from s1;

下面哪條語句是正確的(選擇一個最佳答案)?

A.第二個語句會失敗,因為對象S1已經存在

B.第三個語句會顯示EMPLOYEES的內容

C.第三個語句會顯示DEPARTMENTS的內容

D.第三個語句會顯示表S1的內容(如果此當前模式中存在這樣一個表的話)

(22) 一個視圖和一個同義詞的創建語句如下:

        create view dept_v as select * from dept;
        create synonym dept_s for dept_v;

然后刪除表DEPT。如果查詢同義詞DEPT_S會發生什么事(選擇一個最佳答案)?

A.不會有錯誤,因為該同義詞引用了依然存在的視圖,但是不會有行返回

B.如果先用命令ALTER VIEW DEPT_V COMPILE FORCE重新編譯視圖,就不會有錯誤

C.會有一個錯誤,因為該同義詞將是無效的

D.會有一個錯誤,因為視圖將是無效的

E.會有一個錯誤,因為刪除表時會隱式刪除視圖

(23) 一個序列的創建語句如下:

        create sequence seq1 maxvalue 50;

如果當前值已經是50,當試圖選擇SEQ1.NEXTVAL時會發生什么情況(選擇一個最佳答案)?

A.序列會循環,并發出0

B.序列會循環,并發出1

C.序列會重新發出50

D.會出現一個錯誤

(24) 假設創建了一個如下所示的序列:

        create sequence seq1 start with 1;

當從中選擇了幾次后,要將它重新初始化為重新發出已經生成的數值。如何做到這一點(選擇一個最佳答案)?

A.必須刪除并重新創建序列

B.無法做到。一旦數值被使用過,就不能從序列中重新發出該數值

C.使用命令ALTER SEQUENCE SEQ1 START WITH 1;將下一個值重置成1

D.使用命令ALTER SEQUENCE SEQ1 CYCLE;將序列重置為它的起始值

主站蜘蛛池模板: 吕梁市| 探索| 临城县| 溆浦县| 兴城市| 资兴市| 丹江口市| 仙居县| 玉树县| 泸定县| 昌黎县| 辛集市| 龙泉市| 夏津县| 华容县| 安阳县| 青河县| 睢宁县| 什邡市| 岳池县| 油尖旺区| 泰宁县| 桐庐县| 新民市| 大关县| 噶尔县| 竹溪县| 普格县| 广东省| 三穗县| 香港| 南乐县| 宣汉县| 江都市| 伽师县| 和静县| 共和县| 社会| 苍梧县| 宁都县| 永和县|