連載
» 2009年01月16日 00時00分 公開

間違いやすいポイントを追え! Bronze SQL基礎I(11):表以外のスキーマオブジェクトの作成と管理 (1/2)

Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!

[ゴールデンフォレスト株式会社,@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です。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。