データベース

基本情報技術者試験権限管理」の問題

テクノロジ系データベース難易度:normal
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

【基本情報技術者試験】権限管理の問題 — 解答・解説|ukamiru 過去問