データ・ディクショナリ・ビューを使用したオブジェクトの管理複数選択29

データ・ディクショナリ・ビューに関して正しい記述はどれですか。

A接頭辞 USER_ のビューは、現在のユーザーが所有するオブジェクトの情報を表示する
B接頭辞 DBA_ のビューは、特別な権限がなくても一般ユーザーが常に参照できる
C接頭辞 ALL_ のビューは、現在のユーザーがアクセスできるオブジェクトの情報を表示する
Dデータ・ディクショナリはOracleが自動的に保守し、ユーザーが直接DMLで更新することはできない
解説正答:A・C・D

データ・ディクショナリ・ビューは、接頭辞によって 参照できる範囲(スコープ) が決まっています。

接頭辞とスコープ:

接頭辞表示される範囲
USER_現在のユーザーが 所有 するオブジェクト
ALL_現在のユーザーが アクセスできる オブジェクト(所有+権限付与分)
DBA_データベース内の すべて のオブジェクト(要・DBA権限)

各選択肢の検討:

  • A(正):USER_ は自分が所有するオブジェクトの情報。
  • B(誤):DBA_ の参照には DBA権限(または SELECT ANY DICTIONARY 等)が必要。一般ユーザーが常に見られるわけではない。
  • C(正):ALL_ は自分がアクセス可能なオブジェクト(所有+権限付与されたもの)の情報。
  • D(正):データ・ディクショナリはOracleが自動的に保守する 読取り専用 の仕組みで、ユーザーが INSERT / UPDATE / DELETE で直接変更することはできない。

USER_ → ALL_ → DBA_ の順に範囲が広がる、と覚えると整理しやすいです。