このレッスンでは、「プロパティー (Properties)」ビューの「特権」ページを使用して、EMPLOYEE 表で DELETE、INSERT、SELECT、および UPDATE の各ステートメントを実行するための特権の付与と取り消しを行います。
データ・プロジェクト・エクスプローラーで表を選択すると、「プロパティー (Properties)」ビューにはいくつかの異なるページにある表のさまざまなプロパティーが表示されます。
「特権」ページでは、ユーザーに特権をセットアップすることができます。
このレッスンでは、SELECT ステートメントを使用して表を照会する特権を PUBLIC に付与します。
また、UPDATE 特権の付与と取り消しも行います。
EMPLOYEE 表で特権を付与および取り消すには、以下のようにします。
- 「プロパティー (Properties)」ビューの「特権」ページを表示します。
- データ・プロジェクト・エクスプローラーで、EMPLOYEE 表を選択します。
- 「プロパティー (Properties)」ビューで「特権」ページを選択します。
図 1. 「プロパティー (Properties)」ビューの「特権」ページ
- 以下のようにして、特権を付与します。
- ページに表示されている黄色の正符号をクリックして、「特権の付与 (Grant Privilege)」ウィンドウを表示します。
- 「被認可者」フィールドで、「PUBLIC」を選択します。
- 「特権」フィールドで「SELECT」を選択し、「OK」をクリックします。
「特権」ページの表に、次のような行が表示されます。
図 2. ユーザー ID PUBLIC に SELECT 特権が表示された行
- 「特権の付与 (Grant Privilege)」ウィンドウを使用して、ユーザー ID TEST に UPDATE 特権を付与する。
「特権」ページの表には、TEST 被認可者の行が表示されます。
図 3. ユーザー ID TEST に UPDATE 特権が表示された行
- Ctrl+S キーを押して、物理データ・モデルを保管します。
- データ・ソースで GRANT ステートメントを実行します。
- EMPLOYEE 表を右クリックして、「DDL の生成」ウィザードを表示します。
- 「GRANT ステートメント」チェック・ボックスおよび「完全修飾名 (Fully qualified names)」チェック・ボックス以外のステートメントのチェック・ボックスをすべて選択解除します。
「次へ」をクリックし、もう一度「次へ」をクリックします。
- 「サーバー上で DDL を実行 (Run DDL on server)」チェック・ボックスを選択して「次へ」をクリックします。
- データ・サーバーへの接続を選択して、「次へ」をクリックします。
- 「終了」をクリックします。
GRANT ステートメントが正常に実行しているかどうかを確認するために、「データ出力 (Data Output)」ビューをチェックします。
また、データ・サーバーで EMPLOYEE 表を選択して「プロパティー (Properties)」ビューの「特権」ページを表示すると、特権が付与されたことが確認できます。
- 特権を取り消します。
ここで、ユーザー ID TEST には UPDATE 特権を付与する必要がないことに気付きました。
このため、特権を取り消す必要があります。特権を取り消すには、以下のようにします。
- データ・プロジェクト・エクスプローラーで、EMPLOYEE 表を選択して、「プロパティー (Properties)」ビューの「特権」ページを表示します。
- ユーザー ID TEST の行で「取り消し」チェック・ボックスを選択します。
ヒント:
行を選択して、「特権」ページの最上部にある赤の X 記号をクリックしても、特権を取り消すことはできません。このアクションを実行すると、モデルから特権が削除されてしまいます。
モデルに特権が存在しなくなると、「DDL の生成」ウィザードには REVOKE ステートメントの基になるオブジェクトがなくなります。
- CTRL+S キーを押して、物理データ・モデルを保管します。
- データ・ソースで REVOKE ステートメントを実行します。
- データ・プロジェクト・エクスプローラーでEMPLOYEE 表を右クリックして、「DDL の生成」ウィザードを表示します。
- 「GRANT ステートメント」チェック・ボックスおよび「完全修飾名 (Fully qualified names)」チェック・ボックス以外のステートメントのチェック・ボックスをすべて選択解除します。
「次へ」をクリックし、もう一度「次へ」をクリックします。
「プレビュー DDL(Preview DDL)」ペインには、使用する REVOKE ステートメントが表示されますが、GRANT ステートメントも表示されています。
ウィザードの前のページで GRANT ステートメントを選択すると、「特権」ページの表の各行にステートメントが生成されます。
生成された DDL をエディターで開いて GRANT ステートメントを削除する方法か、GRANT ステートメントは関係ないために DDL を実行する方法しか選択できません。
- 「サーバー上で DDL を実行 (Run DDL on server)」チェック・ボックスを選択してウィザードを完了します。
前回と同様に、REVOKE ステートメントが正常に実行しているかどうかを確認するために、「データ出力 (Data Output)」ビューをチェックします。
また、データ・サーバーで EMPLOYEE 表を選択して「プロパティー (Properties)」ビューの「特権」ページを確認することができます。
ここでプロジェクトの EMPLOYEE 表に対する「プロパティー (Properties)」ビューの「特権」ページに戻って、取り消した特権を削除することができます。
「プロパティー (Properties)」ビューで使用できるその他のページは、以下のとおりです。
- 「一般」ページ
- 表の名前、データ・ソース、および「データ・キャプチャー (Data Capture)」フラグの設定を表示します。
- 「列」ページ
- 表の列をリストします。
- 「ソース情報 (Source Information)」
- データ・ソースに関する情報を表示します。
- 「文書 (Documentation)」
- 表にコメントを追加できます。
その他のページは、表のマップ先となるデータ・ソース固有のものです。
Classic Data Architect では 2 つの追加ページ (「リレーションシップ (Relationships)」および「アノテーション(Annotation)」) は使用されていません。
ただし、これらのページは Classic Data Architect のベースである Eclipse プラットフォームの一部として表示されます。