平成21年度 春期 午前Ⅱ 問7
トランザクション処理
GRANTに関する問題
次の SQL 文の実行結果の説明として,適切なものはどれか。
CREATE VIEW 東京取引先 AS
SELECT * FROM 取引先
WHERE 取引先.所在地 = '東京'
GRANT SELECT
ON 東京取引先 TO "8823"- ア8823 のユーザは,所在地が“東京”の行を参照できるようになる。
- イこのビューの作成者は,このビューに対する SELECT 権限をもたない。
- ウ実表“取引先”が削除されても,このビューに対するユーザの権限は残る。
- エ導出表“東京取引先”には,8823 行までを記録できる。
答えと解説を見る
✓ これが正解ア8823 のユーザは,所在地が“東京”の行を参照できるようになる。
解説
ビュー東京取引先の SELECT 権限が利用者 8823 に与えられます。
CREATE VIEW で、取引先表のうち所在地が東京の行だけを取り出すビュー“東京取引先”を定義し、続く GRANT 文で、そのビューに対する SELECT の権限を 8823 という利用者に与えています。二重引用符で囲まれた "8823" は数値ではなく、権限を受け取る利用者の識別子です。したがって 8823 の利用者は、ビューを通して所在地が東京の行を参照できるようになります。GRANT 文は、ON の後ろが対象のオブジェクト、TO の後ろが権限を受け取る相手、と並びで読むと意味を取り違えません。
ほかの選択肢はなぜ違うのか
- イこのビューの作成者は,このビューに対する…:ビューを作成した利用者はそのビューの所有者であり、自分が作ったビューを参照できます。そもそも GRANT 文で他の利用者に SELECT 権限を与えられるのも、作成者がその権限をもっているからです。
- ウ実表“取引先”が削除されても,このビュー…:ビューは実表を基に定義された仮想的な表なので、基になる取引先表がなくなれば、ビューは中身を取り出せず成り立ちません。ビューへの権限だけが有効なまま残るということはありません。
- エ導出表“東京取引先”には,8823 行ま…:"8823" は GRANT 文の TO の後ろにあり、権限を受け取る利用者を表す識別子です。ビューに記録できる行数の上限を指定する働きはなく、そもそもビューは行を格納しておく表ではありません。
この問題の用語
- 権限そのアカウントに許された操作の範囲のことです。用途ごとに必要なものだけを与え、定義用と更新用のように分けて持たせます。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7
同じ用語が出る問題
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)