DCLとは?ディーシーエル
DCLとは、SQLのうち、権限の付与・取消しとトランザクションの制御を担う分類。GRANT、REVOKE、COMMIT、ROLLBACKが該当する。表そのものを定義するDDL、データを読み書きするDMLと合わせた3分類で覚え、どの文がどれに属するかを選ばせる形で出題される。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
データベースは、複数の利用者と複数のアプリケーションが同じ実体を共有する前提で作られている。だから「誰がどの表に何をしてよいか」をアプリの中ではなくデータベース側で宣言できないと、アプリを1本増やすたびに統制が緩んでいく。DCLはこの宣言をSQLの一部として持たせたもの。機器の側で言えば、MPUで領域ごとにアクセス権を設定し、どのタスクがどの領域へ触れるかをハードウェアで縛るのと同じ発想にあたる。
具体例
GRANT SELECT ON 受注 TO 営業ロール と書けば参照権限だけを与えられ、更新権限は渡らない。取り消すときは REVOKE SELECT ON 受注 FROM 営業ロール。トランザクション側は、一連の更新を流したあとCOMMITで確定し、途中で不整合が判明すればROLLBACKで開始時点へ戻す。
試験での引っ掛け
権限を扱うのがDCL、表の定義を扱う CREATE/ALTER/DROP はDDLで、「どちらも管理者の仕事」とひとまとめにしない。SELECT/INSERT/UPDATE/DELETE はDML。またWITH GRANT OPTIONを付けて渡した権限は、元をREVOKEすると受け取った側がさらに与えた分まで連鎖して取り消される点が狙われる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。