社畜ゲートウェイ

京成・京急を中心に取り上げる阪急ファンのブログです。日本一遅い速報を届けます。

MENU

【スポンサーリンク】

【DB基礎】DCL(データ制御言語)とは?

【スポンサーリンク】

データベースを扱うにはSQLが必要です。SQLはデータベースに対して命令を行い、データベースを操作・定義・制御を行います。一般的には大きく3つに分類されます。

今回はデータ制御言語(DCL)について取り上げます。

DCL(データ制御言語)とは?

DCL(データ制御言語)とは、Data Control Languageの略で、データに対するアクセスを制御する言語です。端的に言えば、ログインしているユーザーが、特定のデータベースにアクセスできる権限を制御(許可・禁止)を行います。

DCLは主に、以下の機能を指します。

  • GRANT:権限の付与
  • REVOKE:権限の剥奪

データベースにはスキーマと言うものがあり、データベース上にスキーマは複数存在することが可能です。

 

例えば、スキーマが2つ存在し、それぞれAスキーマとBスキーマという名前を持ち、Aスキーマにログイン可能なユーザーをユーザーX、Bスキーマにログイン可能なユーザーをユーザーYとします。

ユーザーXはBスキーマを操作する権限を持っていますが、ユーザーYはAスキーマを参照のみの権限しか付与されてないとすると、ユーザーXはBスキーマに対して更新や削除が可能ですが、ユーザーYはAスキーマを見ることしか出来ません。

  • ユーザーX:Aスキーマ、Bスキーマに対して操作可能
  • ユーザーY:Aスキーマ参照のみ、Bスキーマに対して操作可能

もし、ユーザーYにAスキーマを操作する権限を付与したい場合、GRANTを使用して、Aスキーマの操作権限を付与してあげれば、ユーザーYでもAスキーマに対して更新や削除が可能となります。ユーザーXにBスキーマを操作する権限を剥奪することも可能です。

 

「DCL」という単語を覚える必要は?

無理に覚える必要はありません、と言いたいですが、GRANTとREVOKEしかありませんし、やってることは権限の付与・剥奪だけなので、覚えて下さい。DMLやDDLは覚える量が多いですが、DCLについてはすることが1つなので、覚えてしまった方が良いです。

 

関連記事

www.stellacreate.com

www.stellacreate.com