記事内に広告が含まれています。

【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つなので、覚えてしまった方が良いです。

【スポンサーリンク】

関連記事

【DB基礎】DML(データ操作言語)とは?
データベースを扱うにはSQLが必要です。SQLはデータベースに対して命令を行い、データベースを操作・定義・制御を行います。一般的には大きく3つに分類されます。 データ操作言語(DML…Data Manipulation Language)←...
【DB基礎】DDL(データ定義言語)とは?
データベースを扱うにはSQLが必要です。SQLはデータベースに対して命令を行い、データベースを操作・定義・制御を行います。一般的には大きく3つに分類されます。 データ操作言語(DML…Data Manipulation Language) ...
【スポンサーリンク】

鉄道記事も書いてます!

ちょっとリフレッシュして鉄道記事も読んでみませんか?

鉄道記事バックナンバーはこちら↓

鉄道コム投稿記事一覧ページ