平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7
テクノロジ/データベース次のSQL文の実行結果の説明として,適切なものはどれか。 CREATE VIEW 東京取引先 AS SELECT * FROM 取引先 WHERE 取引先.所在地 = '東京' GRANT SELECT ON 東京取引先 TO "8823"
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7
- ア8823のユーザは,所在地が“東京”の行を参照できるようになる。
- イこのビューの作成者は,このビューに対するSELECT権限をもたない。
- ウ実表“取引先”が削除されても,このビューに対するユーザの権限は残る。
- エ導出表“東京取引先”には,8823行までを記録できる。
正解:ア
解説
このSQL文は,取引先表のうち所在地が“東京”である行だけを取り出す“東京取引先”というビューを作成し,そのビューに対するSELECT権限をユーザ8823に付与しています。GRANTで権限を付与された8823のユーザは,このビューを通じて,所在地が“東京”の取引先の行を参照できるようになります。
選択肢ごとの解説
- ア正しい。GRANT文により,ユーザ8823に“東京取引先”ビューに対するSELECT権限が付与されるため,8823のユーザは所在地が“東京”の行を参照できるようになる。
- イ誤り。ビューの作成者は,通常,自分が作成したビューに対するSELECT権限を含む操作権限をもつため,このビューに対するSELECT権限をもたないという記述は誤りである。
- ウ誤り。ビューは元になる実表を参照して動的に導出されるものであり,元の実表“取引先”が削除されると,そのビューは参照できなくなり,ビューに対する権限も意味をなさなくなる。
- エ誤り。ビュー(導出表)は実表のデータを検索するたびに導出される仮想的な表であり,あらかじめ決まった行数までしか記録できないという制限はない。