←ホームへ戻る




問1 ..................................................................................................

以下の SQL文のうち、列見出しが小文字で表示されるものをすべて選択しなさい。

a. select ID, NAME from EMP;
b. select id, name from emp;
c. select id 'id', name 'name' from emp;
d. select id "id", name "name" from emp;
      

→回答と解説



問2 ..................................................................................................

PRICE_MST 表のVAL列には、250, NULL, 900 ,380の値がそれぞれ入っています。
下記の SQL文を実行した場合、何件の結果が検索されるか選びなさい。

select * from PRICE_MST where VAL <> 900;

a. 0件
b. 1件
c. 2件
d. 3件
e. 4件
f. エラーが発生する
      

→回答と解説



問3 ..................................................................................................

下記の制約を無効にする DDL文の空欄を埋めなさい。

alter table EMP [     ] constraint PK_EMP;

a. set
b. enable
c. unused
d. disable
e. unset
      

→回答と解説



問4 ..................................................................................................

SGA を構成する要素のうち、解析済みSQL文やデータディクショナリ情報を格納するメモリ
領域を選びなさい。

a. データベースバッファキャッシュ
b. REDOログバッファ
c. 共有プール
d. 一時表領域
      

→回答と解説



問5 ..................................................................................................

下記の3つの文を使用し、ロールをSCOTTに付与します。
正しい順序を選びなさい。

<実行する文>
1.grant rol_manager to scott;
2.create role rol_manager;
3.grant create table, create view to rol_manager;

a. 2→1→3
b. 2→3→1
c. 3→2→1
d. 3→1→2
      

→回答と解説



問6 ..................................................................................................

下記の順番に SQL文を実行しました。結果として正しいものをすべて選びなさい。

<SQL 文の実行順番>
1.SELECT文
2.INSERT文
3.SAVEPOINT A
4.UPDATE文
5.SAVEPOINT B
6.DELETE文
7.ROLLBACK TO A

a. A および Bは有効
b. A のみ有効
c. DELETE文のみROLLBACKされる
d. UPDATE文およびDELETE文がROLLBACKされる
      

→回答と解説



問7 ..................................................................................................

順序をすべてデフォルト値を使用して作成した場合、正しい説明をすべて選びなさい。

a. 初期値は0
b. 増分値は1
c. 最小値は1
d. 最大値は99999999
e. CACHE 1がデフォルト
f. NOCYCLEがデフォルト
      

→回答と解説



問8 ..................................................................................................

下記の実行結果として正しいものをすべて選びなさい。

SQL> !cat check_emp.sql
select empno,ename,sal from emp where empno = &EMPNO;
update emp set sal = sal * 1.3 where empno = &empno;

SQL> @check_emp.sql


a. コマンドファイルの初回実行時だけ、「&EMPNO」値の入力を求められる
b. コマンドファイルを実行するたびに、毎回「&EMPNO」値の入力を求められる
c. SELECT文実行時の「&EMPNO」入力要求で指定した値は、UPDATE文の「&empno」に引き継がれる
d. SELECT文実行時の「&EMPNO」入力要求で指定した値は、UPDATE文の「&empno」に引き継がれない
e. 事前にDEFINEコマンドにて「EMPNO」値を指定しておけば、コマンドファイル実行時に入力要求はされない
      

→回答と解説



問9 ..................................................................................................

ビューを通して行を削除することができないのは、ビューにどのような要素が
含まれている場合か。下記から3つ選びなさい。

a. ORDER BY句
b. GROUP BY句
c. DISTINCT
d. 式によって定義された列
e. グループ関数
f. ビューにより選択されていないNOT NULL制約付きの列
      

→回答と解説



問10 ................................................................................................

NAME列の3文字目が「R」である行を検索するための条件として正しいものを選びなさい。

a. where name = '__R%'
b. where name like '..R%'
c. where name like '__R%'
d. where name like '%%R%'
      

→回答と解説



回答と解説(問1)・・・答え:d
列見出しは、通常大文字になります。

SQL> select id, name from emp;
ID NAME
-- -----
 1 ALICE
 2 JOHN 
 3 TOM
 4 MARY

列見出しを小文字にしたい場合は、列別名を二重引用符(")で囲みます。

SQL> select id "id", name "name" from emp;
id name
-- -----
 1 ALICE
 2 JOHN 
 3 TOM
 4 MARY
      
回答と解説(問2)・・・答え:c
WHERE 句の <> は非等価条件と呼ばれます。
非等価条件の場合、検索対象からNULL値は除外されます。

従って検索対象は、 VAL列が「NULL値」を除き「900」以外の値の行 となります。


SQL> select * from PRICE_MST;

NAME   VAL
------ ---
pen    250
book      
box    900
eraser 380


SQL> select * from PRICE_MST where VAL <> 900;

NAME   VAL
------ ---
pen    250
eraser 380
      
回答と解説(問3)・・・答え:d
制約を無効にする構文は、
ALTER TABLE 表名 DISABLE CONSTRAINT 制約名 [CASCADE];

制約を有効にする構文は、
ALTER TABLE 表名 ENABLE CONSTRAINT 制約名 [CASCADE];

UNIQUE制約・PK制約を無効化すると、これらに対応する一意索引も削除されます。
再度有効化した場合は、一意索引が自動で作成されます。

ただし、表に制約違反データが入っている場合は有効化に失敗するため注意が必要です。
      



回答と解説(問4)・・・答え:c
SGA はシステムグローバル領域の略で、Oracleが使用するメモリ領域を指します。
各メモリの用途は下記のようになっています。
・データベースバッファキャッシュ:表や索引データを格納
・REDOログバッファ:データの変更履歴を格納
・共有プール:解析済みSQL ・データディクショナリ情報を格納

また、共有プールには解析済みSQL を管理する「ライブラリキャッシュ」とディクショナリ
情報を管理する「ディクショナリキャッシュ」が含まれています。

また、「一時表領域」はメモリではなくディスク上の領域ですのでSGA には含まれません。
      



回答と解説(問5)・・・答え:b
ロールを介した権限の付与は、「権限→ロール→ユーザ」になります。

2:ロールrol_managerを作成します
3:rol_managerに「create table」「create view」の権限を設定します
1:rol_managerをSCOTTに付与します
      



回答と解説(問6)・・・答え:b,d
7のROLLBACKにて、3のSAVEPOINTまでロールバックしています。
よって、4〜6の変更は無効となります。
      



回答と解説(問7)・・・答え:B,C,F
順序作成時のデフォルトは下記になります。
・START WITH:初期値(デフォルトは0)
・INCREMENT BY:増分値(デフォルトは1)
・MINVALUE | NOMINVALUE:最小値(昇順:1、降順:-10の26乗)
・MAXVALUE | NOMAXVALUE:最大値(昇順:10の27乗、降順:-1)
・CACHE | NOCACHE:メモリに順序番号をキャッシュするか(デフォルトはCACHE 20)
・CYCLE | NOCYCLE:最大値・最小値に達した場合に繰り返すか(デフォルトはNOCYCLE)
      



回答と解説(問8)・・・答え:b,d,e
置換変数を使用しているので、実行時に「&EMPNO」に対する入力要求が毎回表示されます。
ただし、事前にDEFINEコマンドにて 「EMPNO」を定義している場合には、入力要求は表示
されません(置換変数は大文字と小文字を区別しませんので、「&EMPNO」と「&empno」は
同じとみなされます)。

SELECT文実行時に入力した「&EMPNO」値をUPDATE文で引き継ぐためには、「&empno」では
なく、「&&empno」または「&&EMPNO」を使用する必要があります。
      



回答と解説(問9)・・・答え:b,c,e
ビューの元になる表が1つの場合、ビューに下記の要素が含まれていなければ
表データをビューを通してDELETEできます。
・GROUP BY
・グループ関数
・DISTINCT
・擬似列ROWNUMキーワード
      



回答と解説(問10)・・・答え:c
文字列のパターンマッチングなので、「=」ではなく「like」を使用します。
ワイルドカードは、
・パーセント記号「%」:任意の0文字以上の文字列
・アンダースコア「_」:任意の1文字

ワイルドカード自体を検索させたい場合は、ESCAPEオプションを使用します。
where name like '%M\_R%' ESCAPE '\'  (「M_R」という文字列を検索)
      












Copyright © 2006 mari. All rights reserved.