このレッスンでは、従業員が社内イントラネット上のディレクトリー・サービスを通じてアクセスするためのビューを作成します。
EMPLOYEE 表の一部の列には、ABC_SALARY 列などの機密情報が含まれているため、それらの列を除外するためのビューを作成します。
SQL ビルダーによって作成される SELECT ステートメントに基づいて簡単なビューを作成するには、
- データ・プロジェクト・エクスプローラーで、ツリー First Model.dbm → New Database → SQL Statements を展開します。
「SQL ステートメント (SQL Statements)」フォルダーを右クリックして、「新規 SQL ステートメント (New SQL Statement)」を選択します。
- 「新規 SQL ステートメント (New SQL Statement)」ウィンドウで、以下の手順を実行します。
- 「ステートメント名 (Statement name)」フィールドに EMP_VIEW と入力します。
SQL Statements フォルダーにステートメントが表示される際には、この名前になります。
- 「ステートメント・テンプレート (Statement template)」フィールドで、SELECT が選択されていることを確認します。
- 「SQL ビルダー (SQL builder)」ラジオ・ボタンが選択されていることを確認します。
- 「OK」をクリックします。
SQL ビルダーが、Classic Data Architect 中の新しいビューとして表示されます。
物理データ・モデル・エディターの占めていたスペースにビューが表示されます。
どちらのビューにも、先頭にタブが表示されています。
SQL ビルダーのタブの名前は、作成するステートメントの名前です。
SQL ビルダーの上部
- データ・プロジェクト・エクスプローラーで EMPLOYEE 表をクリックして SQL ビルダーの中央ペインにドラッグすることにより、EMPLOYEE 表を SELECT ステートメントに追加します。
ヒント: 表を追加するには、SQL ビルダーの中央ペインを右クリックして、「表の追加 (Add Table)」を選択するという方法もあります。
SQL ビルダーは次のようになります。
図 2. EMPLOYEE 表追加後の SQL ビルダー
- SQL ビルダーの中央ペインの EMPLOYEE 表のうち、以下の列を選択します。
- ABC_ENAME
- ABC_PHONE
- ABC_MAILID
- ABC_DEPARTMENT
列の名前が SQL ビルダーの「列 (Columns)」ページに表示されます。
図 3. SQL ビルダーの「列 (Columns)」ページ
SELECT ステートメントは、次のようになっているはずです。
SELECT ABC_ENAME, ABC_PHONE, ABC_MAILID, ABC_DEPARTMENT
FROM SCHEMA.EMPLOYEE
- ビューを作成する前に、次のようにして SELECT ステートメントをテストします。
- SQL ビルダーの上側ペインを右クリックして、「SQL の実行 (Run SQL)」を選択します。
- 「接続の選択 (Connection Selection)」ウィンドウで、「既存の接続を使用 (Use an existing connection)」ラジオ・ボタンを選択します。 データ・サーバーとの接続が自動的に選択されます。
- 「終了」をクリックします。
「データ出力 (Data Output)」ビューに、ステートメントが正常に実行されたことが示されるはずです。
戻された行が「結果 (Results)」表に表示されます。
図 4. SELECT ステートメントのテストが正常に実行された後の「データ出力 (Data Output)」ビュー
SELECT ステートメントが動作することがわかったなら、それに基づくビューを作成できます。
- 「First Model.dbm」タブをクリックして Ctrl+S を押すことにより、物理データ・モデルを保管します。
- データ・プロジェクト・エクスプローラーの SQL Statements フォルダーで、EMP_VIEW を右クリックし、「生成 (Generate)」→「ビュー」を選択します。
First モデル物理データ・モデルの中の SCHEMA オブジェクトの下に、ビューが表示されます。
図 5. データ・プロジェクト・エクスプローラーの VIEW1
- ビュー名を変更します。
VIEW1 をゆっくりとダブルクリックしてから、EMP_VIEW と入力します。
これで、ビューの DDL を生成してデータ・サーバー上にビューを作成するための準備ができました。