表以外のスキーマオブジェクトの作成と管理:間違いやすいポイントを追え! Bronze SQL基礎I(11)(1/2 ページ)
Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!
前回「SQLでの表の作成と管理」では、表の作成方法と管理方法について学習しました。
今回は、以下の項目を確認します。
- ビュー
- シノニム
- 順序
ビューの作成
■例題1
次の中から複合ビューを選択してください。
a.
create view test_view1
as select empno,ename from emp;
b.create view test_view2
as select e.ename,d.department_name
from emp e,departments d
where e.deptno=d.department_id;
c.
create view test_view3
as select max(sal) maxsal from emp;
d.
create view test_view4
as select department_id,department_name
from departments
where manager_id is null;
■例題の範囲をおさらい
参考:「SQLで便利なオブジェクトを使いこなす」
ビューは、SELECT文に名前を付けて保存したオブジェクトです。ビューを使用することで、表示する列を制限したり、複雑なSELECT文を隠したりすることができます。
ビューには単一ビューと複合ビューがあります。それぞれの違いは以下の表のとおりです。
機能 | 単一ビュー | 複合ビュー |
---|---|---|
表の数 | 1つ | 1つ以上 |
関数を含むか | 含まない | 含む |
データのグループを 含むか |
含まない | 含む |
ビューからのDML操作 | 可能 | 条件付きで可能 |
■正解
b、c
■解説
選択肢a、d:1つの表から作成された単一ビューです。
選択肢b:EMP表とDEPARTMENTS表の2つから作成された複合ビューです。このビューをSELECTすると、以下のように2つの表の結合結果が表示されます。
SQL> select * from test_view2; ENAME DEPARTMENT_NAME ---------------------------------------- ------------------------------ Jennifer Administration Michael Marketing Pat Marketing Shelley Accounting William Accounting Steven Executive
選択肢c:MAX関数を使用した複合ビューです。
複合ビューに対するDMLは条件付きで可能ですが、このビューに対するDMLは不可です。このビューをSELECTすると以下のような結果となります。
SQL> select * from test_view3; MAXSAL ---------- 24000
この結果は、元データからのMAX関数を使用した計算結果です。DMLで元表の変更をすることはできません。
よって、複合ビューは選択肢b、cです。
シノニムの作成
■例題2
シノニムを作成しているSQL文を選択してください。
a.create synonym bumon on sql.departments;
b.create synonym bumon for sql.departments;
c.create synonym bumon to sql.departments;
■例題の範囲をおさらい
参考:「SQLで便利なオブジェクトを使いこなす」
シノニムを使用すると、オブジェクトに別名を作成できます。複雑な表名や別のユーザーが所有するオブジェクト(「ユーザー名.オブジェクト名」でアクセス)に単純な名前を付けることで、アクセスが容易になります。
■正解
b
■解説
シノニムの作成構文は、以下のとおりです。
CREATE [PUBLIC] SYNONYM シノニム名 FOR 元のオブジェクト名;
よって、正解は選択肢bです。
Copyright © ITmedia, Inc. All Rights Reserved.