基本情報技術者試験「権限管理」の問題
SQLのデータ制御言語(DCL)に関する説明として最も適切なものはどれか。
アGRANTは表の行を追加し、REVOKEは追加した行を取り消す操作である
イGRANTは索引を作成し、REVOKEは索引を削除する操作である
ウGRANTは表の定義を変更し、REVOKEは変更を元に戻す操作である
エGRANTは利用者に操作権限を与え、REVOKEは与えた権限を取り消す操作である
正解
エ.GRANTは利用者に操作権限を与え、REVOKEは与えた権限を取り消す操作である
GRANT は利用者やロールに対し SELECT・INSERT・UPDATE 等の操作権限を付与し、REVOKE はその付与した権限を取り消すデータ制御言語(DCL)である。アクセス制御を担うため正しい。
?選択肢ごとの解説
ア ×行の追加・取消はINSERTやDELETE等のデータ操作言語の役割であり、GRANT/REVOKEは権限を扱う文で行データには作用しない。
イ ×索引の作成・削除はCREATE INDEX/DROP INDEXであり、データ定義言語(DDL)の役割で権限制御とは異なる。
ウ ×表定義の変更はALTER TABLEなどのDDLの役割であり、GRANT/REVOKEは定義ではなく権限を操作する。
エ ○GRANT は利用者やロールに対し SELECT・INSERT・UPDATE 等の操作権限を付与し、REVOKE はその付与した権限を取り消すデータ制御言語(DCL)である。アクセス制御を担うため正しい。
✎くわしく
SQLは役割で DDL(定義: CREATE/ALTER/DROP)・DML(操作: SELECT/INSERT/UPDATE/DELETE)・DCL(制御: GRANT/REVOKE)に分類される。DCL はアクセス権限を管理し、最小権限の原則に基づき利用者ごとに必要な操作だけを許可する。
✓本番での押さえどころ
試験のコツ
SQLの3分類を覚える: 定義=DDL、操作=DML、制御=DCL。GRANT/REVOKE は『権限の付与・取消』とセットで暗記する。
覚え方
GRANT=『許可証を渡す』、REVOKE=『許可証を回収する』とイメージし権限の方向を区別する。
よくある誤り
GRANT/REVOKE を行操作や定義変更と混同する。権限の付与・剥奪を担う制御系の文である点を押さえる。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0247