DCLとは?ディーシーエル
DCLとは、SQLを機能で分けたときに、権限の付与・取消しやトランザクション制御を担う分類(Data Control Language)。GRANT、REVOKE、COMMIT、ROLLBACKが該当する。表や索引の定義を扱うDDL、行の検索と更新を扱うDMLと並ぶ3分類の一つとして問われる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
SQLは検索の言語として出発したが、複数の利用者が同じデータを同時に扱う前提が入ると、「誰に何を許すか」と「どこまでを一括りの処理として確定するか」を言語の中で表す必要が出た。アプリ側の作り込みに任せると接続経路ごとに実装が分かれる。データベース自身が持つ語彙として整理したのがこの分類である。
具体例
GRANT SELECT ON 受注 TO 営業ロール で参照権限を与え、REVOKEで取り消す。更新処理ではCOMMITで確定し、異常時はROLLBACKで開始前へ戻す。PostgreSQLやOracle Databaseでもこの構文はSQL標準にほぼ従っている。
試験での引っ掛け
権限を扱うのがDCL、表の定義を扱うCREATE・ALTER・DROPはDDLで、「どちらも管理者の仕事」と一括りにしない。COMMIT・ROLLBACKを別途TCLとして分ける流儀もあるが、情報処理試験ではDCLに含める整理が使われる。
関連用語
出た過去問
出典:平成31年度 春期 応用情報技術者試験 午前 問27(IPA)解説で登場
RDBMSにおいて、特定の利用者だけに表を更新する権限を与える方法として、適切なものはどれか。
正解:GRANT文で許可する。
要点:表への権限付与はGRANT文、取消しはREVOKE文で行う
SQLのデータ制御言語(DCL)であるGRANT文は、指定した利用者やロールに対して表への SELECT・INSERT・UPDATE・DELETE などの権限を個別に与える。特定の利用者だけに更新権限を与えるにはGRANT文でUPDATE権限をその利用者に付与すればよく、取り消すときはREVOKE文を使う。
出典:令和2年度 10月試験 応用情報技術者試験 午前 問26(IPA)解説で登場
表に対するSQLのGRANT文の説明として、適切なものはどれか。
正解:表の利用者に対し、表への問合せ、更新、追加、削除などの操作権限を付与する。
要点:GRANTは表への操作権限を利用者に付与するDCL
GRANTは、表やビューなどのオブジェクトに対する操作権限(SELECT、UPDATE、INSERT、DELETEなど)を利用者やロールに与えるSQLのデータ制御文である。取り消すときはREVOKEを使う。接続の認証や暗号化とは別の機能である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。