応用情報技術者 2012年 春期 午前2 問28
問題文
関係データベース管理システム (RDBMS)の表へのアクセスにおいて、特定の利用者だけにアクセス権を与える方法として、適切なものはどれか。
選択肢
ア:CONNECT文で接続を許可する。
イ:CREATE ASSERTION 文で表明して制限する。
ウ:CREATE TABLE 文の参照制約で制限する。
エ:GRANT 文で許可する。(正解)
関係データベース管理システム (RDBMS)の表へのアクセス制御【午前2 解説】
要点まとめ
- 結論:特定の利用者にアクセス権を与えるには、GRANT文を使うのが正しい方法です。
- 根拠:GRANT文はRDBMSでユーザーやロールに対して権限を付与・管理する標準的なSQL文です。
- 差がつくポイント:アクセス制御のSQL文の役割を正確に理解し、CREATE文やCONNECT文と混同しないことが重要です。
正解の理由
GRANT文は、特定のユーザーに対してテーブルへのSELECT、INSERT、UPDATEなどの操作権限を付与するためのSQL文です。これにより、利用者ごとに細かくアクセス権を管理できるため、アクセス制御の基本的かつ適切な手段となります。
よくある誤解
CONNECT文はデータベースへの接続許可を制御するもので、テーブル単位のアクセス権管理には使いません。CREATE ASSERTIONや参照制約はデータの整合性を保つためのもので、アクセス権限の付与には関係ありません。
解法ステップ
- 問題文で「特定の利用者にアクセス権を与える」とあることを確認する。
- SQL文の役割を思い出し、アクセス権限付与に使う文を選ぶ。
- CONNECT文は接続許可、CREATE ASSERTIONは制約定義、CREATE TABLEはテーブル作成なので除外。
- GRANT文が権限付与に使われることを理解し、正解とする。
選択肢別の誤答解説
- ア: CONNECT文はデータベースへの接続許可を与えるもので、テーブル単位のアクセス権管理には不適切です。
- イ: CREATE ASSERTION文は整合性制約を定義するためのもので、アクセス権限の制御には使いません。
- ウ: CREATE TABLE文の参照制約はデータの整合性を保つための制約であり、アクセス権限とは無関係です。
- エ: GRANT文はユーザーに対してテーブルなどの操作権限を付与するための正しいSQL文です。
補足コラム
RDBMSのアクセス制御は、ユーザー認証と権限管理の2段階で行われます。CONNECT文は認証段階で接続を許可するためのもので、権限管理はGRANT文で行います。GRANT文はREVOKE文とセットで使い、権限の付与・剥奪を管理します。
FAQ
Q: GRANT文で付与できる権限にはどんなものがありますか?
A: SELECT、INSERT、UPDATE、DELETE、EXECUTEなど、テーブルやビュー、ストアドプロシージャに対する操作権限があります。
A: SELECT、INSERT、UPDATE、DELETE、EXECUTEなど、テーブルやビュー、ストアドプロシージャに対する操作権限があります。
Q: CREATE ASSERTION文はどのような場面で使いますか?
A: データベース内の複数テーブルにまたがる整合性制約を定義するために使いますが、アクセス権限の制御には使いません。
A: データベース内の複数テーブルにまたがる整合性制約を定義するために使いますが、アクセス権限の制御には使いません。
関連キーワード: GRANT文、アクセス権限、RDBMS, SQL, アクセス制御、CONNECT文、CREATE ASSERTION, 参照制約

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

