今回は、Silverの「開発/SQL - SQLコマンド(スキーマ)」からの出題です。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2018年1月29日
データベースの種類によっては、ユーザとスキーマの区別の説明が難しいくらいに一体化しているものもあります。
PostgreSQLでは、デフォルトのスキーマ検索パスの先頭がユーザ名と同じスキーマになっている、という程度の弱いつながりはあるものの、スキーマとユーザは全く別物で、ユーザ名と同じスキーマが存在するとは限らず、また一人のユーザが複数のスキーマを所有することもできます。DROP SCHEMAにより、そのスキーマ、およびスキーマ内のオブジェクトを削除することができます。
ただし、スキーマ内にオブジェクトが存在するとデフォルトでは削除が拒否され、エラーになります。CASCADEオプションをつけて実行すると、スキーマ内のオブジェクトも削除されます。
したがって正解はCです。
スキーマを削除できるのはそのスキーマの所有者とスーパーユーザだけですが、CASCADEオプションをつけたとき、スキーマ内のオブジェクトは、そのオブジェクトの所有者と関係なく削除されるので注意してください。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.