[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

データ制御言語 (DCL)

pointこの用語のポイント

pointデータベースに対する命令の種類だよ

point権限周りをあれこれするときに使う命令だよ

pointトランザクション処理を行うときに使う命令だよ

スポンサーリンク

簡単に書くよ

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

データベースに対する命令の分類のひとつ
であり

データベースの権限周りをあれこれするときに使う命令のこと
です。
あるいは

トランザクション処理(「ここからここまでワンセット」な処理)に関する命令
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「データベース」と「SQL」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

データベースは「データを入れておく箱」です。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。

データ制御言語

SQLは「データベースとやり取りするときに使う言葉」です。

データ制御言語2

データベースにデータを入れるときは、データベースさんに対して「ちょっと、これを入れておいて」と命令します。
反対にデータベースからデータを取り出すときは、データベースさんに対して「ちょっくら、こんなデータを取り出しておくれ」と命令します。
SQLは、そんな命令をするときに使う言葉です。

さて、このSQLを使った命令ですが、大きく分けて3つに分類できます。
それは

1.データをあれこれするときに使う命令
2.データを入れておく箱をあれこれするときに使う命令
3.データベースに対する権限周りをあれこれするときに使う命令


の3つです。

「1.データをあれこれするときに使う命令」はデータそのものに関する命令です。
「この条件に一致するデータを探して」「このデータを入れておけ」「このデータのこの値をこっちの値に変えて」「このデータを削除して」のような命令をするときに使います。

データ制御言語3

「2.データを入れておく箱をあれこれするときに使う命令」はデータを入れておく箱に関する命令です。
「このデータが入る箱を作って」「この箱をもっと大きくして」「この箱は使わないから捨てちゃって」のような命令をするときに使います。

データ制御言語4

「3.データベースに対する権限周りをあれこれするときに使う命令」は使ってイイ人やダメな人を指定するときに使う命令です。
「ピヨ子さんには、この箱の中身は見せないで」「ピヨ太ママには見せていいけど、変更はさせないで」のよう命令をするときに使います。

データ制御言語5

以上を踏まえて、この3種類の命令のうち

3.データベースに対する権限周りをあれこれするときに使う命令

を指す呼び名が「データ制御言語」です。
Data Control Language(データ・コントロール・ラングエッジ)」を省略して「DCL」と呼ばれる場合もあります。

データ制御言語6

SQLで言えば

・grant文
・revoke文


などがデータ制御言語に相当します。

データーベースに命令するときに使う言語はSQLだけではありません。
他にもあります……多分。
よって「データ制御言語」という用語はSQL専用ではありません。
データベースの権限周りをあれこれするときに使う命令(で使う言語)は、すべてデータ制御言語です。

とはいえ、2017年1月現在の状況では、データベースをあれこれする際にはSQLを使うことが圧倒的に多いでしょう。
「データ制御言語はgrant文とかrevoke文とかのこと」と解釈しても、そこまで困ることはないと思います。

なお、トランザクション処理(「ここからここまでワンセット」な処理)に関する命令

commit:トランザクション処理の確定
rollback:トランザクション処理の取り消し


などもデータ制御言語に含まれるようです。
「権限周りをあれこれ」な説明からは外れますが、覚えておいてください。

あと、ついでなので書いておくと

1.データをあれこれするときに使う命令

は「データ操作言語(DML)」と言います。

データ制御言語7

残りの

2.データを入れておく箱をあれこれするときに使う命令

は「データ定義言語(DDL)」です。

データ制御言語8

気が向いたら、全部まとめて覚えてあげてください。

・データ操作言語(DML):データをあれこれ
・データ定義言語(DDL):箱をあれこれ
・データ制御言語(DCL):権限をあれこれ


です。

image piyo2

一言でまとめるよ

まぁ「データ制御言語」って単語が出てきたら「『権限周りをあれこれしなさい』なデータベースに対する命令なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク