Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

データ制御言語(DCL)

データ制御言語 構造化照会言語のサブセットです。データベース管理者は、DCLを使用してリレーショナルデータベースへのセキュリティアクセスを構成します。 データ定義言語を補完します 、データベースオブジェクトを追加および削除し、データ操作言語 これは、データベースのコンテンツを取得、挿入、および変更します。

DCLは、GRANT、REVOKE、およびDENYの3つのコマンドのみで構成されているため、SQLサブセットの中で最も単純です。これらの3つのコマンドを組み合わせると、管理者はデータベースのアクセス許可をきめ細かく設定および削除できる柔軟性が得られます。

GRANTコマンドを使用した権限の追加

GRANTコマンドは、データベースユーザーに新しい権限を追加します。構文は非常に単純で、次のように定義されています。

GRANT [privilege]
ON [object]
TO [user]
[WITH GRANT OPTION]

このコマンドで指定できる各パラメーターの概要は次のとおりです。

  • 特権 —キーワードALL(さまざまなアクセス許可を付与するため)または特定のデータベースアクセス許可またはアクセス許可のセットのいずれかです。例としては、CREATE DATABASE、SELECT、INSERT、UPDATE、DELETE、EXECUTE、CREATEVIEWなどがあります。
  • オブジェクト —任意のデータベースオブジェクトにすることができます。有効な特権オプションは、この句に含めるデータベースオブジェクトのタイプによって異なります。通常、オブジェクトはデータベース、関数、ストアドプロシージャ、テーブル、またはビューのいずれかになります。
  • ユーザー —任意のデータベースユーザーにすることができます。ロールベースのデータベースセキュリティを利用する場合は、この句でユーザーの代わりにロールを使用することもできます。
  • オプションのWITHGRANT OPTIONを含める場合 GRANTコマンドの最後にある句を使用すると、指定したユーザーにSQLステートメントで定義されたアクセス許可を付与するだけでなく、同じアクセス許可を他のにさらに付与するアクセス許可もユーザーに付与します。 データベースユーザー。このため、この句は注意して使用してください。

たとえば、ユーザーに Joeを付与したいとします。 従業員から情報を取得する機能 HRというデータベースのテーブル 。次のSQLコマンドを使用します:

GRANT SELECT
ON HR.employees
TO Joe

Joeは、従業員のテーブルから情報を取得できます。ただし、DCLスクリプトにWITH GRANT OPTION句が含まれていなかったため、他のユーザーにそのテーブルから情報を取得する権限を付与することはできません。

データベースアクセスの取り消し

REVOKEコマンドは、以前にそのようなアクセスを許可されたユーザーからデータベースアクセスを削除します。このコマンドの構文は次のように定義されています。

REVOKE [GRANT OPTION FOR] [permission]
ON [object]
FROM [user]
[CASCADE]

REVOKEコマンドのパラメータの概要は次のとおりです。

  • 許可 —識別されたユーザーから削除するデータベースのアクセス許可を指定します。このコマンドは、識別された権限に対して以前に行われたGRANTアサーションとDENYアサーションの両方を取り消します。
  • オブジェクト —任意のデータベースオブジェクトにすることができます。有効な特権オプションは、この句に含めるデータベースオブジェクトのタイプによって異なります。通常、オブジェクトはデータベース、関数、ストアドプロシージャ、テーブル、またはビューのいずれかになります。
  • ユーザー —任意のデータベースユーザーにすることができます。ロールベースのデータベースセキュリティを利用する場合は、この句でユーザーの代わりにロールを使用することもできます。
  • GRANT OPTION FOR 句は、指定されたユーザーが指定された権限を他のユーザーに付与する機能を削除します。 GRANT OPTION FORを含める場合 REVOKEステートメントの句では、プライマリ権限は取り消されません。この条項は、付与能力のみを取り消します。
  • CASCADE オプションは、指定されたユーザーがアクセス許可を付与したすべてのユーザーから指定されたアクセス許可も取り消します。

次のコマンドは、前の例でJoeに付与された権限を取り消します。

REVOKE SELECT
ON HR.employees
FROM Joe

データベースアクセスを明示的に拒否する

DENYコマンドは、ユーザーが特定の権限を受け取らないように明示的に禁止します。この機能は、ユーザーが権限を付与されたロールまたはグループのメンバーであり、例外を作成してその個々のユーザーが権限を継承しないようにする場合に役立ちます。このコマンドの構文は次のとおりです。

DENY [permission]
ON [object]
TO [user]

DENYコマンドのパラメーターは、GRANTコマンドに使用されるパラメーターと同じです。たとえば、Matthewが従業員のテーブルから情報を削除できないようにする場合は、次のコマンドを発行します。

DENY DELETE
ON HR.employees
TO Matthew

  1. Excel でデータベースを作成する方法 (簡単な手順)

    Excel で簡単なデータベースを作成する方法がわかりませんか?この記事では、わずか 7 で Excel でデータベースを作成する方法を紹介します。 簡単な手順 MS Access は、データベースとして使用するには複雑なツールだと思いますか?そのため、Excel はそのための優れたツールです。 テクニックを学びましょう。 次の練習用ワークブックをダウンロードしてください。トピックをより明確に理解するのに役立ちます。 Excel でデータベースを作成するための 8 つのステップ Excel ワークブックを正しく設計すれば、簡単にデータベースとして使用できます。主なポイントは、ワークブ

  2. Excel で自動的に更新されるデータベースを作成する方法

    この記事では、作成する方法について説明します データベース エクセルで 更新 自動的に 4つの便利な方法の助けを借りて。これは、動的データを操作する際に必要な重要な機能です。データベースが別のソースからのデータに依存している場合、ソース データに応じた自動更新は非常に重要です。メソッドに慣れるために、例を見てみましょう。 自動的に更新されるデータベースを作成するための 4 つの便利な方法 エクセルで 1. Web からデータを抽出して、Excel で自動的に更新されるデータベースを作成する タスク :抽出 アメリカ、ニューヨークの 14 日間の天気予報 ウェブ から Excel デー