情報処理安全確保支援士試験 2018年 秋期 午前221


次のSQL文の実行結果の説明に関する記述のうち、適切なものはどれか。CREATE VIEW東京取引先ASSELECT*FROM取引先WHERE取引先所在地='東京'GRANTSELECTONTO東京取引先TO“8823”。
このビューには、8823行までを記録できる。
このビューの作成者は、このビューに対するSELECT権限をもたない。
実表“取引先”が削除されても、このビューに対する利用者の権限は残る。
利用者“8823”は、実表“取引先”の所在地が‘東京’の行を参照できるようになる。(正解)

解説

次のSQL文の実行結果の説明に関する記述のうち、適切なものはどれか。【午前2 解説】

要点まとめ

  • 結論:利用者“8823”は、実表「取引先」の所在地が‘東京’の行を参照できるようになる。
  • 根拠:CREATE VIEWで「東京取引先」ビューを作成し、GRANT文でSELECT権限を付与しているため。
  • 差がつくポイント:ビューは実表の特定条件の仮想テーブルであり、権限付与はビュー単位で行うことを理解すること。

正解の理由

ビュー「東京取引先」は「取引先」テーブルの「所在地が‘東京’」の行だけを抽出した仮想テーブルです。
GRANT文で利用者“8823”に対してこのビューのSELECT権限を付与しているため、実際に“8823”は「取引先」テーブルのうち「所在地が‘東京’」の行を参照可能となります。
ビューは実表のデータを直接持たず、実表のデータを条件付きで参照するため、権限付与はビュー単位で行うことが重要です。

よくある誤解

ビューに対する権限付与は実表の権限とは別であり、ビューの作成者が必ずしも権限を持たないわけではありません。
また、ビューの行数制限や実表削除後の権限保持について誤解されやすいです。

解法ステップ

  1. SQL文の内容を確認し、CREATE VIEWでどのようなビューが作成されているか把握する。
  2. ビューの定義から、どのデータが参照可能かを理解する(所在地が‘東京’の行)。
  3. GRANT文で誰にどの権限が付与されているか確認する(利用者“8823”にSELECT権限)。
  4. ビューの権限付与が実表の権限付与とは独立していることを理解する。
  5. 選択肢の内容と照らし合わせて正しい説明を選ぶ。

選択肢別の誤答解説

  • ア: ビューに行数制限はなく、「8823行まで記録できる」という表現は誤りです。ビューは仮想テーブルであり、行数制限はありません。
  • イ: ビューの作成者が必ずしも権限を持たないとは限らず、問題文からは権限の有無は判断できません。
  • ウ: 実表「取引先」が削除されるとビューも参照できなくなるため、権限が残るとは言えません。
  • エ: 利用者“8823”は「所在地が‘東京’」の行を参照できるようになるため正解です。

補足コラム

ビューは実表のデータを条件付きで参照する仮想テーブルであり、データの抽出や権限管理に便利です。
GRANT文でビューに対する権限を付与すると、実表の権限とは独立してビュー経由でのアクセスが可能になります。
ビューの削除や実表の削除はビューの利用に影響を与えるため、運用時には注意が必要です。

FAQ

Q: ビューに対して権限を付与すると、実表の権限も自動的に付与されますか?
A: いいえ。ビューの権限付与は実表の権限とは独立しており、実表の権限は別途管理されます。
Q: 実表が削除された場合、ビューはどうなりますか?
A: 実表が削除されるとビューは参照できなくなり、利用者の権限も意味を持たなくなります。

関連キーワード: SQL, ビュー, GRANT, SELECT権限, 仮想テーブル, 権限管理, データベースアクセス制御
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ