平成30年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21
テクノロジ/データベース次の SQL 文の実行結果の説明に関する記述のうち,適切なものはどれか。 CREATE VIEW 東京取引先 AS SELECT * FROM 取引先 WHERE 取引先.所在地 = '東京' GRANT SELECT ON 東京取引先 TO "8823"
出典:平成30年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21
- アこのビューには,8823 行までを記録できる。
- イこのビューの作成者は,このビューに対する SELECT 権限をもたない。
- ウ実表“取引先”が削除されても,このビューに対する利用者の権限は残る。
- エ利用者“8823”は,実表“取引先”の所在地が‘東京’の行を参照できるようになる。
正解:エ
解説
設問の SQL 文は,実表“取引先”のうち所在地が‘東京’である行だけを取り出すビュー“東京取引先”を作成し,そのビューに対する SELECT 権限を利用者“8823”に付与しています。ビューは実表に対する仮想的な問合せ定義であり,ビューへのアクセス権限を付与された利用者は,そのビューの定義に従って実表のデータ(東京の行)を間接的に参照できるようになります。
選択肢ごとの解説
- ア誤り。ビューはデータを実体として記録する表ではなく,実表への問合せを定義したものであるため,「8823 行までを記録できる」という記述は誤りです。
- イ誤り。ビューの作成者(多くの場合そのスキーマの所有者)は,通常,自分が作成したビューに対する SELECT 権限を保持しています。
- ウ誤り。ビューは実表に依存する仮想表であるため,基となる実表“取引先”が削除されると,通常そのビューは無効となり,付与されていた権限も意味を失います。
- エ正しい。利用者“8823”はビュー“東京取引先”への SELECT 権限を付与されたことにより,実表“取引先”のうち所在地が‘東京’である行を,ビューを通じて参照できるようになります。