PREPARATION
受験対策

Silverの例題解説
「S3.1 SQL コマンド(ビュー)」

今回は、Silverの「S3 開発/SQL - S3.1 SQL コマンド(ビュー)」からの出題です。

例題

3.80

ビュー(VIEW)に関する説明として適切なものを1つ選びなさい。

  1. 検索を高速化するため、ビューにインデックスを作成することができる。
  2. ビューから検索する方が、その元となるテーブルから検索するより高速である。
  3. CREATE OR REPLACE VIEWコマンドでビューの定義を変更するとき、ビューに列を追加することはできるが、減らすことはできない。
  4. ビューを定義するSELECT文のFROM句にはテーブルのみを記述することができ、ビューを含めることはできない。
  5. ビューとテーブルをJOINにより表結合することはできるが、ビューとビューを表結合することはできない。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2017年10月31日

解答と解説

ビューは CREATE VIEW view_name AS SELECT …という形式で、SELECT文により定義されます。実体としてのデータを保持しないので、余分なスペースを消費することがありませんが、テーブルとほぼ同じように使うことができ、SQL文でテーブル名を記述できる箇所の多くで、ビュー名を記述することができます。
テーブル名の代わりにビュー名を記述できない例としては、CREATE INDEXによるインデックスの作成(対象はテーブルのみです)、UPDATE/DELETE/INSERTによるデータの更新(更新可能なビューもありますが、テーブルの更新に比べるといろいろと制限があります)などがありますが、CREATE VIEWでビューを作成するときに、作成済みの別のビューを参照することもできますし、JOINで表結合するときは、ビューはテーブルと全く区別なく使用できます。
ビューからの検索では、元となるテーブルからのSELECTに内部的に展開した上で実行プランが決められますので、ビューを定義したことで検索が早くなることはありません。
ビューの定義を変更するには、DROP VIEWで削除してからCREATE VIEWで再作成する方法と、CREATE OR REPLACE VIEWで定義を変更する方法があります。前者ではどのような変更をしようとそれ自体は自由ですが、ビューに依存するオブジェクトが存在するときは、DROP VIEWによるビューの削除が制限されます。後者の場合も、ビューに依存するオブジェクトへの影響を防ぐため、ビューへの列の追加は可能ですが、既存の列の削除、順序やデータ型の変更はできないという制限があります。なお、列の名前やデータ型が同じであれば、ビューを定義する式は変更できます。

従って、正解はCです。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

LPI-Japan
Platinum Sponsors