PREPARATION
受験対策

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

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

例題

3.83

DROP SCHEMA foo の結果として適切なものを1つ選びなさい。

  1.  PostgreSQLには DROP SCHEMA コマンドが存在しないのでエラーになる。スキーマを削除するにはDROP USER foo を実行する。
  2.  ユーザ foo が存在していたらエラーになる。
  3. スキーマ foo 内にオブジェクトが存在していたら、エラーになる。
  4.  スキーマ foo 内にオブジェクトが存在していたら、自動的に publicに移動される。
  5.  スキーマ foo と、その中に存在するオブジェクトすべてが削除される。

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

解答と解説

データベースの種類によっては、ユーザとスキーマの区別の説明が難しいくらいに一体化しているものもあります。
PostgreSQLでは、デフォルトのスキーマ検索パスの先頭がユーザ名と同じスキーマになっている、という程度の弱いつながりはあるものの、スキーマとユーザは全く別物で、ユーザ名と同じスキーマが存在するとは限らず、また一人のユーザが複数のスキーマを所有することもできます。DROP SCHEMAにより、そのスキーマ、およびスキーマ内のオブジェクトを削除することができます。
ただし、スキーマ内にオブジェクトが存在するとデフォルトでは削除が拒否され、エラーになります。CASCADEオプションをつけて実行すると、スキーマ内のオブジェクトも削除されます。


したがって正解はCです。


スキーマを削除できるのはそのスキーマの所有者とスーパーユーザだけですが、CASCADEオプションをつけたとき、スキーマ内のオブジェクトは、そのオブジェクトの所有者と関係なく削除されるので注意してください。

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

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

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

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

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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

LPI-Japan
Platinum Sponsors