ある企業が、Azure SQL Database の特定テーブルへの SELECT 権限を特定のデータベースユーザーに付与したいと考えている。この操作を行うために使用する SQL 命令のカテゴリはどれか。
- A. DDL(データ定義言語):テーブルやインデックスの構造を定義・変更する
- B. DCL(データ制御言語):ユーザーへの権限付与(GRANT)・取り消し(REVOKE)を行う
- C. TCL(トランザクション制御言語):トランザクションのコミット・ロールバックを行う
- D. DML(データ操作言語):データの検索・挿入・更新・削除を行う
解答と解説を見る
正解: B
DCL(Data Control Language)はデータベースオブジェクトへのアクセス権限を制御する SQL 命令群で、GRANT(権限付与)と REVOKE(権限取り消し)が主な命令である。GRANT SELECT ON テーブル名 TO ユーザー名 の形式で権限を付与する。DML は SELECT・INSERT・UPDATE・DELETE でデータそのものを操作する。DDL は CREATE・ALTER・DROP でデータベース構造を定義・変更する。TCL は COMMIT・ROLLBACK・SAVEPOINT でトランザクションを制御する。