IPA過去問ドリル

平成30年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21

テクノロジ/データベース

次の SQL 文の実行結果の説明に関する記述のうち,適切なものはどれか。 CREATE VIEW 東京取引先 AS   SELECT * FROM 取引先   WHERE 取引先.所在地 = '東京' GRANT SELECT   ON 東京取引先 TO "8823"

出典:平成30年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21

正解:エ

解説

設問の SQL 文は,実表“取引先”のうち所在地が‘東京’である行だけを取り出すビュー“東京取引先”を作成し,そのビューに対する SELECT 権限を利用者“8823”に付与しています。ビューは実表に対する仮想的な問合せ定義であり,ビューへのアクセス権限を付与された利用者は,そのビューの定義に従って実表のデータ(東京の行)を間接的に参照できるようになります。

選択肢ごとの解説

  • 誤り。ビューはデータを実体として記録する表ではなく,実表への問合せを定義したものであるため,「8823 行までを記録できる」という記述は誤りです。
  • 誤り。ビューの作成者(多くの場合そのスキーマの所有者)は,通常,自分が作成したビューに対する SELECT 権限を保持しています。
  • 誤り。ビューは実表に依存する仮想表であるため,基となる実表“取引先”が削除されると,通常そのビューは無効となり,付与されていた権限も意味を失います。
  • 正しい。利用者“8823”はビュー“東京取引先”への SELECT 権限を付与されたことにより,実表“取引先”のうち所在地が‘東京’である行を,ビューを通じて参照できるようになります。
情報処理安全確保支援士の過去問を演習モードで解く