今回は、Silverの「運用管理 - 基本的な運用管理作業(テーブル単位の権限)」からの出題です。
CREATE TABLEで作成された直後のテーブルにアクセス権があるのは、テーブルの所有者、つまりCREATE TABLEを実行したユーザだけである。
テーブルのアクセス権をユーザに付与するにはALTER TABLE文を使う。
テーブルのアクセス権をユーザに付与できるのはテーブルの所有者だけである。
テーブルの所有者は、そのテーブルに基づくビューを作成する権限を各ユーザに付与、あるいは剥奪することができる。
テーブルの所有者であるにも関わらず、そのテーブルへのアクセス権がなく、SELECTできない、ということもあり得る。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2014年4月14日
データベースでは、テーブルのSELECT、INSERT、UPDATE、DELETEなどのアクセス権限について、ユーザ毎に管理することができます。
アクセス権限を付与するにはGRANT文、剥奪するにはREVOKE文を使います。
デフォルトの設定では、CREATE TABLEで作成された直後のテーブルにアクセス権があるのはテーブルの所有者とスーパーユーザだけですが、ALTER DEFAULT PRIVILEGESで設定を変更すれば、作成直後のテーブルへのアクセス権をその他のユーザに付与することも可能です。
GRANT時にWITH GRANT OPTIONというオプション付きで権限を付与された場合、付与された権限を他のユーザに付与することが可能になります。
アクセス権限には、SELECT、UPDATEなどの他に、外部キー制約を作る権限、トリガーを作成する権限などがありますが、そのテーブルに基づくビューを作る権限というのはありません。
デフォルトでテーブルの所有者はそのテーブルに関するすべての権限を持っていますが、自分自身の権限をREVOKEすることでアクセスできないようにすることも可能です。
従って正解はEです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.