ここでは、画面を元に、具体的な使用方法を説明します。

3 - 1 起動

[スタート]メニューよりObject Browser を実行します。

Object Browserを実行すると、ウィンドウの中央にログオンダイアログが表示されますので、
ユーザーID、パスワード、データベース名(別名)を指定し、データベースに接続します。


[オブジェクトリスト]ウィンドウが表示されたら、接続完了です。

[接続先リストに登録する]をチェックして接続すると、ウィンドウ上段の[接続先リスト]に登録され、
次回からはこのリストをダブルクリックするだけでデータベースへの接続が可能となります。

接続先リストを削除するには、削除したい接続内容を選択して[Delete]キー、
または「×」ボタンを押して下さい。

▲ ▼にて接続先リストの並び替えも可能です。

3 - 2 ツールバー

画面上部には、よく使用する機能がツールボタンとして表示されています。
これらのツールバーは、機能毎に表示・非表示の指定ができます。


<標準メニュー>
[データベース接続] データベースへの接続を行います。
[データベース切断] データベースへの切断を行います。
[現行データベース] 現在接続中のDBの中から使用したいDBを選択します。
[COMMIT] データベースへの変更操作を確定します。
[ROLLBACK] データベースへの変更操作を取り消します。

<編集メニュー>
[元に戻す] テキストの編集等を取り消します。
[切り取り] 選択中のテキストなどをクリップボードに切り取ります。
[コピー] 選択中のテキストなどをクリップボードに収容します。
[貼り付け] クリップボード内のデータを指定した位置に貼り付けます。

<ツールメニュー>
[SQL実行] SQL文を実行するためのウィンドウを表示します。
→ 3−5参照
[スクリプト実行] テキストファイルに格納されたSQLスクリプトを実行します。
→ 3−6参照
[表・列] テーブルと、その列を一覧表示します。
→ 3−7参照
[SQLキャッチ] DB2に対して発行されている生SQLをキャッチします。
→ 3−9参照
[テーブルアクセス表] トレース情報からSQL文を抽出しテーブル単位に
まとめて表示します。
→ 3−10参照

<管理メニュー>
[ユーザー情報] ユーザー・ロール・プロファイル情報画面を表示します。
→ 5−1参照
[表スペース情報] 表スペース・コンテナー情報画面を表示します。
→ 5−2参照
[アプリケーション情報] 現在DBに接続中のアプリケーション情報画面を表示します。
→ 5−3参照
[ロック情報] 現在のロック情報を確認できます。
→ 5−4参照
[データベース情報] 現在接続中のデータベース情報を確認できます。
→ 5−5参照

<新規作成メニュー>
[表][制約] 各オブジェクトを新規に作成します。
(→ 第四章参照)

3 - 3 オブジェクトリスト

データベースに接続すると、そのユーザーが利用可能なデータベースオブジェクトが
[オブジェクトリスト]ウィンドウに表示されます。

ウィンドウ左側には、ユーザーとオブジェクトタイプがツリー表示され、
ここで選択したユーザー、オブジェクトタイプに該当するオブジェクトの一覧が
ウィンドウ右側に表示されます。



一覧表示では、ウィンドウ上段の見出タブをクリックすると表示順序を変更することができます。
また、予想したよりもオブジェクトの数が多い場合は、表示中に[ESC]キーを押すことで、
処理を中断することができます。

ウィンドウ上段に並ぶツールボタンは、それぞれ次のような機能があります。

[スキーマ → オブジェクト順]
 ツリー表示をデータベース、スキーマ、オブジェクトタイプの順に表示します。
[オブジェクト → スキーマ順]
 ツリー表示をデータベース、オブジェクトタイプ、スキーマの順に表示します。
[データベース選択時にオブジェクト一覧を表示する]
 ツリー表示で第一階層(データベース)のアイコンをクリックした際に、
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[スキーマ(オブジェクトタイプ)選択時にオブジェクト一覧を表示する]
 ツリー表示で第二階層(スキーマまたはオブジェクトタイプ)のアイコンをクリックした際に、
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[表示] (リストボックス)
 ツリー表示するスキーマを限定したい場合に使用します。
 「すべてのスキーマ」、「ログインスキーマ」、「設定(各スキーマごとに表示/非表示を選択)」から
 選択可能です。
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[オブジェクト名検索]
 操作したいオブジェクトの名称が分かっている場合は、
 このアイコンの横にあるテキストボックスに名称を入力してこのアイコンをクリックすると、
 オブジェクト名にその値が含まれているオブジェクトのみをリスト表示します。
[全文検索(GREP)]
 オブジェクトを作成するDDL文(CREATE文)中に指定した文字列が含まれたオブジェクトのみを
 リスト表示します。
 アイコンをクリックすると下記の指示ダイアログが表示されます。

■検索文字列
 ここで指定した文字列がDML文中に含まれたオブジェクトをリスト表示します。
■対象オブジェクト
 検索対象の範囲を指定します。
■大文字小文字を区別する
 アルファベットの大文字・小文字を区別して検索するか否かを指定します。

この他にもメニューにある[オプション]を開くと表示方法を変更する事ができます。
(→ 3−12参照)

3 - 4 データベースオブジェクトの操作

データベースオブジェクトに対する操作は、基本的に[オブジェクトリスト]から
目的のオブジェクトを選択し、[オブジェクトリスト]メニュー、もしくは
右クリックによるポップアップメニューから目的の操作を選択します。



選択可能な操作は次の通りです。
[新規作成][貼り付け]以外の操作は、事前にオブジェクトを選択しておく必要があります。

[新規作成] オブジェクトを新しく作成します。
オブジェクト別の詳細については第四章を参照して下さい。
[コピー] オブジェクトをコピーします。コピー後は
貼り付け操作によりコピーを作成することが可能です。
[貼り付け] 現在選択しているユーザの下にオブジェクト のコピーを作成します。
(あらかじめ[コピー]でオブジェクトをコピーしている必要があります。)

まず、名前を入力するダイアログが表示されますので
新しく作成するオブジェクトの名前を指定します。
テーブルの場合は「テーブルデータをコピーする」というチェックが
ありますので、テーブルレコードも同時にコピーしたい場合に
チェックをONにします。
最後にOKボタンを押すとCREATE文が実行され、
コピーが作成されます。
[削除] オブジェクトを削除します。

[定義情報を開く] オブジェクトの詳細情報ウィンドウを開きます。
オブジェクト別の詳細については第四章を参照して下さい。
[ソースを開く] オブジェクトの詳細情報ウィンドウのソースタブを開きます。
[データを開く] オブジェクトの詳細情報ウィンドウのデータタブを開きます。
[データを開く(件数指定)] 参照するデータ件数を指定するウィンドウを開きます。
[スクリプト出力] オブジェクトのSQLスクリプトをファイルに出力します。
→ 3−4−2参照
[レポート出力] オブジェクト定義情報をEXCELファイルに出力します。
→ 3−4−3参照
[印刷] オブジェクトのSQLスクリプトを印刷します。
[表・列] テーブルと、その列を一覧表示します。
→ 3−7参照
[特権] オブジェクト特権情報を表示します。
→ 3−4−6参照
[クロスリファレンス] オブジェクトの参照情報を表示します。
→ 3−4−4参照
[マトリックス表] オブジェクトの相関図を表示します。
→ 3−4−5参照
[統計情報] オブジェクトの統計情報を更新します。
→ 3−4−7参照
[コメントチェック] プログラムを選択したときのみ有効です。
選択したプログラムのコメントを一覧表示します。
→ 3−4−8参照
[ユーザー定義コマンド] ユーザー定義コマンドを実行します。
[実行] ストアドプログラム実行ウィンドウを表示し、実行します。
→ 3−4−1参照
[エイリアス作成] エイリアスの作成画面を表示します。
→ 4−11参照
[全文検索] DDL文の全文検索を行います。
→ 3−3参照
[ワークスペース] オブジェクトをショートカットの一覧表示欄に追加します。

3 - 4 - 1 ストアドプログラムを実行する

ストアドプロシージャ、ストアドファンクションについては、
メニューより[実行]を行った場合、引数設定ウィンドウが表示され
プログラムを実行する事ができます。



プログラムに引数や戻り値がある場合は、ウィンドウに
引数名と型が表示されますので、実行時に渡す値を[値]欄に入力します。

[実行]ボタンをクリックすると、プログラムを実行する事ができます。
正常に実行された場合は、画面に「プログラムを実行しました。」のメッセージを表示し、
ウィンドウ下段に引数の値と戻り値の情報を表示します。

3 - 4 - 2 SQLスクリプトを出力する

メニューより[スクリプト出力]を行った場合、出力先のディレクトリ(一括出力の場合はファイル名)を
指定するウィンドウが表示され、指定したディレクトリにSQLスクリプトを出力できます。
ウィンドウ下段の[出力オプション]を変更すると、スクリプトの出力方法をカスタマイズする事が
できます。


■ 同時に出力するスクリプトを一つにまとめる
 一度に選択したオブジェクトを一つのファイルにまとめる場合にチェックします。
 チェックしない場合は、"オブジェクト名.SQL"というファイル名で出力されます。

■ タイプに応じたサブディレクトリを作成する
 指定したディレクトリに、ユーザー名、オブジェクトタイプ名でのサブディレクトリを作成し、
 その中にスクリプトを出力します。
 全オブジェクトをまとめて出力する際に便利です。

■ 名前TBL
 通常はスクリプト名はデータベースオブジェクト名と同じものが使われますが、
 オブジェクト名とスクリプトファイル名の対応データの入ったテーブルをここで指定する事で、
 任意のファイル名を個々のオブジェクトに対して割り当てる事が出来ます。


テーブル名を指定し[設定]ボタンを押すと、上のような編集画面が表示されます。

データの編集方法はテーブルオブジェクトと同様です。
→ 4−1[データタブ]参照

[登録]
 指定したテーブルを名前テーブルとして登録します。
 存在しないテーブル名を指定した場合は、その名前でテーブルを新規作成し、登録します。

[初期データを登録する]
 登録した名前テーブルに、現時点で存在するデータベースオブジェクトのデータを登録します。

■ すでに同じファイルが存在する場合は上書きする
 スクリプトを出力先に、すでに同名ファイルがある場合は上書きしたい場合にチェックします。
 チェックしない場合は、前回の出力結果に追記されます。

■ スキーマ名の出力
 SQL文中にスキーマ名を不可するか否かを指定します。

■ テーブルスクリプトに従属インデックスも追加する
 従属するインデックスも同じファイルに出力する事ができます。

■ テーブルスクリプト出力時、データも出力(INSERT文)
 テーブルの定義と一緒に格納されているデータを INSERT文として出力します。
 データごと他の環境にテーブルを移す場合や、簡易バックアップとしても使えます。
 INSERT文の出力先には次の中から選択可能です。
  ・テーブルスクリプト自身に付加
  ・別フォルダに出力(DATAというフォルダ名に同一のファイル名で作成)
  ・別ファイルに出力(_DATA.SQLというファイル名で作成)

■ 表スペース情報を出力する
 表スペース情報をそれぞれ出力するか指定します。
 この設定は、TABLE, INDEX, MQTの各オブジェクトに有効です。

■ オブジェクト権限を出力する
 各スクリプトの最後に、オブジェクト権限付与のGRANT文を出力します。
 GRANT文の出力先には次の中から選択可能です。
  ・オブジェクトのスクリプト自身に付加
  ・別フォルダに出力(GRANTというフォルダ名に同一のファイル名で作成)
  ・別ファイルに出力(_GRANT.SQLというファイル名で作成)

■ 空白行を出力しない
 出力したスクリプトから空白行を取り除きます。
 Object Browser以外のツールの中には、空白行までを一文とみなして
 スクリプト実行をするものがありますが、それらを使ってスクリプトを実行する場合は、
 ここをチェックしてスクリプトを生成します。

3 - 4 - 3 定義情報をEXCEL出力する

メニューより[レポート出力]を選択した場合、
[オブジェクト一覧表][テーブル定義書][ビュー定義書]
及びユーザーがカスタマイズした定義書をEXCELファイルとして出力する事ができます。

出力するレポートは、「レポート定義の登録」で登録されたものが選択可能です。

[オブジェクト一覧表]
 選択したオブジェクトをタイプ別に一覧形式にまとめたものを作成します。

[オブジェクト定義書]
 選択した TABLEオブジェクトの項目説明を作成します。

[ビュー定義書]
 選択したVIEWオブジェクトの項目説明を作成します。

3 - 4 - 4 クロスリファレンス

メニューより[クロスリファレンス]を行った場合、指定したオブジェクトと
他のオブジェクトとの関連情報が表示されます。

画面左側には、指定したオブジェクトが呼び出しているオブジェクトが一覧表示され、
画面右側には、指定したオブジェクトが呼ばれているオブジェクトが表示されます。


それぞれのオブジェクトを選択し[開く]ボタンを押下、またはダブルクリックすると、
定義情報ウィンドウが表示されます。
画面右側には、指定したオブジェクトが呼ばれているオブジェクトが表示されます。

【 参照 】【 被参照 】の横にあるツールボタンは、それぞれのオブジェクトを
クロスリファレンス図に表示するか否かを指定します。

3 - 4 - 5 マトリックス表

メニューより[マトリックス表]を行った場合、指定したオブジェクトの相関図を表示します。



[OBJECT\被参照]タブ
 縦方向にオブジェクトリストで選択したオブジェクト、
 横方向にはそれらを呼び出しているオブジェクトを表示します。

[OBJECT\参照]タブ
 横方向にオブジェクトリストで選択したオブジェクト、
 縦方向にはそれらが呼び出しているオブジェクトを表示します。

[項目\表]タブ
 横方向にオブジェクトリストで選択したオブジェクト(テーブル、ビュー)、縦方向には項目一覧を表示し、
 通常項目には「○」、主キー項目には「◎」を表示します。
 主に同一項目名で属性が一致しているかどうかを確認する為に使用します。

また、画面上段に表示されているツールボタンは、それぞれ次の機能があります。

[EXCEL出力]
 表示されているマトリックス表を、EXCELファイルに出力します。

[クリップボード出力]
 表示されているマトリックス表を、クリップボードにコピーします。

3 - 4 - 6 特権付与

メニューより[特権]を行った場合、指定したオブジェクトの特権情報を表示します。
複数オブジェクトを選択した場合は、まとめて表示・変更ができます。



画面上段は特権の変更部、画面下段は、指定したオブジェクトに今現在付与されている特権が表示されます。

特権を変更するには、まず、特権を付与したいユーザーまたはロールをユーザー一覧から選択します。
その後、右側の特権一覧のチェックボックスをON,OFFし、[実行]ボタンを押します。

画面上段にある[実行されるSQLを表示する]を押すと、[実行]ボタン押下時に実行されるGRANT/REVOKE文を確認する事が出来ます。

3 - 4 - 7 統計情報

メニューより[統計情報]を行った場合、指定したオブジェクトの統計情報設定画面を表示します。
この画面より、統計情報の更新を行う事ができます。



■テーブルの統計を収集する
 指定したテーブルの全データを対象に統計情報を収集します。

■従属するインデックスの統計を収集する
 指定したテーブルに従属するインデックスの統計情報を収集します。

■テーブルおよび従属するインデックスの統計を収集する
 指定したテーブルと、従属するインデックス双方の統計情報を収集します。

3 - 4 - 8 コメントチェック

メニューより[コメントチェック]を選択した場合、選択したプログラムのコメント行を一覧表示します。
不要なコメントの消し忘れなどを簡単にすることができます。
各行をダブルクリックまたは右クリック→ソース表示ボタンを選択することで、
該当の行に行ジャンプを行うことも可能です。


3 - 5 SQL実行

[表示]メニューの[SQL実行]をクリックするか、ツールバーの[SQL]ボタンをクリックすると
SQL実行ウィンドウが表示されます。SQLを入力し、実行することが可能です。
複数のSQLを同時に実行する場合は各SQLを区切り文字(既定ではセミコロン)で区切り、実行してください。



ウィンドウ上段に並ぶツールボタンは、それぞれ次のような機能があります。
[実行] [結果]タブが表示されている場合は、入力したSQL文を実行します。
[実行計画]タブが表示されている場合は、入力したSQL文の実行計画を
表示します。
[前] 過去に入力したSQL文で、現在表示されているSQL文よりも
古い履歴を呼び出します。
[次] 過去に入力したSQL文で、現在表示されているSQL文よりも
新しい履歴を呼び出します。
[履歴] 過去に入力したSQL文の履歴表示を行います。
同時にSQL文の選択が可能です。
[終了] ウインドウを閉じます。
[区切り文字] SQL文を区切るための文字列を指定します。
既定値はセミコロン(;)です。
[SQL文を読み込む] 指定したファイル中にあるSQL文を画面に表示します。
(エクスプローラから任意のファイルをドラッグ&ドロップしても
同様の結果になります。)
[SQL文を保存する] 現在入力中のSQL文をファイルに保存します。
[SQLビルダ] GUIによりSQLを作成します。
[実行計画] このボタンが押されている状態で[実行]ボタンを押した場合は、
SQLの実行計画が表示されます。

実行計画表示の場合、画面中段にはSQL文実行時に発生するI/O情報が、
画面下段にはSQL文の実行計画が階層表示されます。
また、コストベースの場合は実行コストも表示されます。

この結果を元に、予想したインデックスが使用されているか、
テーブルの連結順序が適当か、ソートは効率よく行われているか等を
判断する事ができます。
[データベース] SQL文を実行するデータベースをリストより選択します。


[結果] タブ
 ウィンドウ上段に入力したSQL文を実行します。
 SELECT文の場合はウィンドウ下段に結果データが表示されます。
 また[結果を編集可能にする]がチェック状態の場合はデータを変更する事で、
 直接テーブル中のデータを変更する事ができます。
 (行を特定できないSELECT文の場合は編集状態になりません)
 
 修正したデータは行移動時に自動的にCOMMITされます。
 
 画面上段に入力するSQL文は[区切り文字]に入力した文字で区切る事で
 複数実行する事ができます。

 例)
  SELECT * FROM TABLE1
  ;
  SELECT * FROM TABLE2

ウインドウ左側に並ぶツールボタンは、それぞれ次のような機能があります。

[結果を編集可能にする] 表示されたデータが編集可能か否かを指定します。
編集が必要ない場合はこのボタンをOFF にすると反応が良くなります。
オプション設定により初期状態の設定も可能です。
[出力方向変更] データを横方向または縦方向に表示します。
[結果をEXCELファイル
  に出力する]
表示されているデータの全てをEXCELファイルに出力します。
オプション設定により出力方法の変更が可能です。
[結果をクリップボード
  に出力する]
表示されているデータの全てをクリップボードに出力します。
オプション設定により出力方法の変更が可能です。
[レコードの挿入] データを挿入する為の空白行を作成します。
[レコードの削除] 現在位置のレコードを削除します。



画面上部の[SQLビルダ]ボタンを押下すると、GUIによるSQL文の作成ができます。



ダイアグラム欄のボタン説明
[SQLタイプの選択] SELECT/INSERT/UPDATE/DELETE/CREATE VIEWから選択します。
[テーブルの追加] ダイアグラム欄に追加したいテーブルを選択します。
[テーブルの削除] ダイアグラム欄のフォーカスがあたっているテーブルを削除します。

追加したテーブルを結合させることもできます。
テーブルの列をクリックし、結合させたい結合対象テーブルの列に
ドラッグ&ドロップすることで結合可能です。



結合部分でダブルクリックしていただくと、結合条件の変更・結合列の変更が可能です。
ダイアグラムで結合だけさせて、下の画面より列を選択していただくこともできます。



グリッド欄の説明


ダイアグラム欄にて、追加されたテーブルの列名をクリックすると
グリッド欄に列が追加されていきます。

ボタンを押すことで、グリッド欄に直接列を追加できますし、
ボタンを押すことで列の削除ができます。

上記のダイアグラム欄、グリッド欄で操作した結果SQLがSQLエディタ欄に
自動で作成され表示されます。


*SQLエディタにて作成したSQL文から、上部のグリッド欄、ダイアグラム欄へ
反映させる(リバース)ことも可能です。


*以下のものにつきましてはSQLビルダでの実行はできない仕様となっております。
 ・ UNION 構文はリバースの対象外とします。
  ただしサブクエリ内に限り、UNION が含まれててもリバースします。

 ・ JOIN 句はフォワード/リバースの対象外とします。( テーブルの結合は「=」のみを対応)

 ・ HAVING 句の内容は、リバース時に[グリッド部]の[抽出条件]欄にセットされます。
  [抽出条件]欄の値は、[グルーピング]欄が GROUP BY または HAVING の場合に
  HAVING 句として動作します(その他の場合は WHERE 句扱いいたします )

3 - 6 スクリプト実行

[表示]メニューの[スクリプト実行]をクリックするか、ツールバーの[スクリプト]ボタンをクリックすると
スクリプト実行ウィンドウが表示されます。



このウィンドウは、SQL実行ウィンドウと違い、データベースオブジェクトの一括作成等
スクリプトを連続で実行する事を目的としたウィンドウです。

画面右上に表示されるスクリプトの一覧から、目的のスクリプトをダブルクリックするか、
選択後[<<]ボタンをクリックすると、画面左上に選択したスクリプト名が表示されます。
これが実行予定のスクリプトの一覧となり、[ 実行]ボタンをクリックすると、連続で実行されます。
実行結果は画面下部の結果ログに表示されます。
スクリプトの選択には、エクスプローラからのドラッグ&ドロップにも対応しています。

また、実行予定スクリプトをダブルクリックすると、関連付けられたアプリケーションが起動しますので、
スクリプトファイルにエディタ等を関連付けておけば、ここでスクリプトの内容を確認したり
編集したりできるようになります。

ウィンドウ上段のツールボタンは、それぞれ次のような機能があります。

[実行]
 選択したスクリプトを実行します。
 実行時に表示されるダイアログにより、次のオプションが指定可能です。


 ■正常終了したスクリプトをリストから削除する
  結果的にエラーが発生したスクリプトだけがリストに残るので、
  必要最小限のスクリプトを再実行する事が出来ます。

 ■エラーが発生した時点で処理を中断する
  主従関係のあるスクリプト等、最初のスクリプトがエラーの場合は以降のスクリプトが
  確実にエラーになる場合にチェックしておくと、無駄な実行を行いません。


[終了]
 ウインドウを閉じます。

[上に移動]
 選択したスクリプトをリスト上部に移動します。

[下に移動]
 選択したスクリプトをリスト下部に移動します。

[削除]
 選択したスクリプトをリストから削除します。

3 - 7 表・列

[表示]メニューの[表・列]をクリックするか、ツールバーの[表・列]ボタンをクリックすると
テーブル及びその項目の一覧ウィンドウが表示されます。



ウィンドウの左側には参照可能な表、ビュー、エイリアスオブジェクトが一覧表示されます。
(ウィンドウ上段のツールボタンで特定のオブジェクトタイプのみ出力する事も可能)

ウィンドウの右側には、選択したオブジェクトの項目名と属性、主キー情報が一覧表示されます。
(複数選択も可能です。)

ここで特定の項目を選択し、[コピー]ボタンで情報をコピーする事で、
SQL実行ウィンドウやプロシージャのソース編集においてテーブル名や項目名を
キーボードから入力する手間を省けます。

また、[コピー]ボタンのプルダウンメニューにより、通常のコピーとは別に
SELECT文、INSERT文、UPDATE文のコピーが出来ます。

複数のオブジェクトを選択してコピーを行った場合は別名の指定ダイアログボックスが表示され、
オブジェクトの別名を指定することができます。

3 - 8 SQLリファレンス

[表示]メニューの[SQLリファレンス]をクリックすると、DB2 のコマンドや
関数の簡易マニュアルが表示されます。



3 - 9 SQLキャッチ

データベースに対して発行された生SQLをキャッチし、SQL実行画面にペーストできる機能です。
繁雑なトレース情報からSQL文を抽出し、経過時間、CPU時間などの並び順で一覧表示します。
キャッチしたSQLをダブルクリックするとSQL実行画面にペーストされ、実行計画を確認できます。
ボトルネックになっているSQL文の検出およびSQLチューニング作業を支援することができます。

[開始]ボタンを押し、トレースの開始を行います。
トレース開始後、DB2 は SQL が実行される度にその内容を
 トレースファイルに書き出すようになります。
[表示]ボタンを押すと、SI Object Browser は DB2 が発行した
 トレースファイルの内容SQL文のみを抽出し、整形結果を画面下段に表示します。
 (初回実行時はトレースログのフォルダ選択が必要になります→後述)
トレースを終了する場合は、[停止]ボタンを押してトレースを終了できます。

手順についてはトレースファイルが有効な間は何度でも実行できます。
また、トレースログ自体はトレース終了後にも残りますので、トレースを終了させた後でも
情報の表示は可能です。



画面上段のボタンを押し、トレースを開始します。



同様の操作で、トレースを停止する時は停止ボタンを押します。
※トレース開始/停止時には、一度Object Browserの接続を終了する必要があります。

取得したトレースを表示する場合は「表示」ボタンを押します。


トレースフォルダの選択 初回実行時や、トレースログフォルダが見つからない場合、SI Object Browser は
トレースログの格納先を指定するダイアログを表示します。
トレースログファイル格納する先のファイルを指定してください。

※トレースフォルダを途中で変更したい場合
 「選択」ボタンを押すか
 トップメニューから[SQLキャッチ]→[トレースフォルダ選択]でフォルダの変更ができます。

* また、「対象トレースファイル更新日時」にて指定した日付以降のタイムスタンプを持つ
トレースログファイルが結果リストの表示対象となります。
デフォルト値として現在日付の 0 時がセットされますので、
前日のログを対象としたい場合等は値を変更します。

SQLキャッチ結果画面



実行結果
ボタンを選択またはSQL文をダブルクリックすると、選択した SQL 文の実行計画を表示します。

SQL文をコピー
ボタンを選択し、選択した SQL 文をクリップボードにコピーします。

[同一SQL結果をまとめる]場合、各値には平均値がセットされます。

実行計画画面

3 - 10 テーブルアクセス表

テーブルアクセス表とは、データベース内で発行されている SQL 文を テーブル単位に抽出し、テーブル毎にどのような SQL 文が発行されているのかを確認する機能です。
テーブルアクセス表を使用する事で、特定のテーブルに対する SQL 文からインデックスの有効性を確認したり、 また CRUD 表生成の基礎資料としてもお使いいただけます。
テーブルアクセス表の使用方法及び注意点は、SQLキャッチ機能と酷似している部分がありますので、 SQLキャッチ機能の説明も合わせてご確認下さい。
テーブルアクセス表画面


テーブルアクセス表の実行

アクセスを確認したいテーブルを左の一覧にてチェックを入れてください。

開始ボタン押下


開始ボタン押下し、トレースを開始します。

同様の操作で、トレースを停止する時は同様の操作で停止ボタンを押します。
※トレース開始/停止時には、一度Object Browserの接続を終了する必要があります。

取得したトレースを表示する場合は、「表示」ボタンを押します。
生成されたトレースログを表示するための参照先ディレクトリ(ログが生成された)選択します。


トレースフォルダの選択
初回実行時や、トレースログフォルダが見つからない場合、SI Object Browser は
トレースログの格納先を指定するダイアログを表示します。
トレースログファイル格納する先のファイルを指定してください。

※トレースフォルダを途中で変更したい場合
 「選択」ボタンを押すか
 トップメニューから[SQLキャッチ]→[トレースフォルダ選択]でフォルダの変更ができます。

テーブルアクセス表結果画面


結果リスト(右欄)の各項目は次のような値となります。
テーブル名 SQL 文中で使用しているテーブル名が表示されます。
複数のテーブルを対象とする SQL の場合は、
対象テーブルの数だけ結果が細分化されます。
C SQL 文が[テーブル名]に対して INSERT 操作を行う場合 * を表示します。
R SQL 文が[テーブル名]に対して SELECT 操作を行う場合 * を表示します。
SELECT 操作がテーブルに対して全件検索となっている場合は F を表示します。
これはインデックスが使用されていない状態です。
U SQL 文が[テーブル名]に対して UPDATE 操作を行う場合 * を表示します。
D SQL 文が[テーブル名]に対して DELETE 操作を行う場合 * を表示します。
SQL SQL 文を表示します。

実行結果を選択し、ポップアップメニューを表示させることで、
その SQL 文に対する詳細情報が確認できます。

3 - 11 ユーザー定義コマンド

使用者が独自のSQL文を登録し、Object Browser の機能を拡張する画面です。
例えば、テーブルのデータを全部削除したい場合、この画面で

DROP FROM &OWNER.&NAME

というSQL文を登録する事で、オブジェクトリストから目的のテーブルを選び、
ポップアップメニューからSQL文を選ぶとデータを削除する事ができます。



SQL文を登録するには、まず、画面上段左側の一覧の任意の場所を選択して下さい。
その次に画面上段右側にある[名前]テキストボックスを入れて下さい。
この名前がポップアップメニュー上に表示されます。
ショートカットを使用する場合は、ショートカットのテキストボックスを選択し、
ショートカットにするキーを実際に押すことによって
テキストボックスにショートカットが表示されます。

その下にあるチェックボックスは、それぞれ次の意味があります。

■メニューに表示する
 チェックすると、プルダウン・ポップアップメニューに表示されるようになります。

■SQL実行画面を使用する
 チェックすると、実行結果が表示されるようになります。
 SELECT文などを登録する場合に使用します。

■実行時に確認画面を表示する
 チェックすると処理を開始する際に確認ダイアログが表示されます。

■エラーを無視する
 複数オブジェクトを対象とした処理の場合、エラー発生時に
 処理を中断するか否かを指定します。

最後に画面下段にSQL文を入力します。
オブジェクトリストの情報を取り込むには、擬似バインド変数を利用します。
(厳密にはバインド変数とは異なります)

利用可能擬似バインド変数一覧
&0又は&NAME オブジェクト名を返します。
&1又は&OWNER オブジェクトのスキーマを返します。
&2又は&TYPE オブジェクトのタイプを返します。
&3〜 オブジェクトリストの列番号に応じた値を返します。
3が一番左端の列(オブジェクト名)の値となります。

最後に[作成]ボタンをクリックし、保存します。

※ 主な使用例
 ■テーブルデータを初期化する
  DROP FROM &OWNER.&NAME

 ■バックアップテーブルを作成する
  CREATE TABLE &OWNER.&NAME_BK LIKE &OWNER.&NAME
  ;
  INSERT INTO &OWNER.&NAME_BK (SELECT * FROM &OWNER.&NAME)


3 - 12 オプション設定

オプション設定で、 ObjectBrowserを利用者の使いやすいようにカスタマイズする事ができます。



[オブジェクトリスト]タブ

 ■ ツリー順序
  ツリーの表示順序を指定します。
  初期値は[スキーマ→オブジェクトタイプ順]ですが、例えばデータベース中の
  全テーブルの保守作業の場合は、[オブジェクトタイプ→スキーマ順]の方が使いやすいでしょう。
  (オブジェクトリストのツールボタン上にも同様の設定があります。)

 ■ 表示するオブジェクトタイプ
  通常は使用しないオブジェクトタイプがある場合、ここでチェックを外しておくと
  ツリー表示に出てこなくなり、スキーマの一覧性があがります。

 ■ 接続スキーマを一番最初に表示する
  接続スキーマをツリーリスト上で一番最初に表示するようにします。
  スキーマ数が多い場合にチェックすると便利です。

 ■ オブジェクト固有の詳細情報を表示する
  オブジェクトリストの表示情報を変更します。

 ■ 一覧表示中の途中経過を表示する
  チェックを入れると、オブジェクト一覧を逐次再描画を行いながら表示していきます。
  チェックを外すと、全てのオブジェクト情報を取得するまでリストの描画は行わなくなりますが、
  その分処理速度が向上します。

 ■ オブジェクト選択時、行全体を反転する
  オブジェクトリストでオブジェクトを選択した場合、名前のみを反転させるか
  行全体を反転させるかを指定します。

 ■ オブジェクト一括削除時のエラーを無視する
  オブジェクトリストから複数オブジェクトを削除する際、エラー発生時に処理を中断するか
  エラーを無視して次のオブジェクトを削除するかを選択します。
  (削除時のダイアログボックスにも同様の設定があります)

 ■ 絞り込み検索機能を表示する
  オブジェクトリストの上段に[絞込検索]の項目を表示するか否かを指定します。
  同時に、指定した値で総称検索を行うかどうかを指定します。

 ■ 総称検索を行う(LIKE '%検索値%')
  絞込み検索機能を有効にした場合、指定した値で総称検索を行うかどうかを指定します。




[定義情報]タブ

 ■ 初期表示タブ
  オブジェクトを開いた時に、最初に表示されるタブを指定します。

 ■ 定義変更時に実行されるDDL文を表示する
  [作成]ボタン押下時に実行されるDDL文を画面に表示します。

 ■ 定義変更時にエラーが発生しなかった場合自動でDDL実行画面を閉じる
  各画面で[作成]ボタンを押すと、実行した DDL 文とその結果をログ表示しますが、
  全ての DDL 文が正常終了した場合は自動でログ表示画面を閉じるか否かを指定します。

 ■ テーブル再作成時に、データ退避テーブルを作成する
  テーブルの定義を変更する時、変更内容によっては DROP TABLE/CREATE TABLE 文を使用して
  テーブルを再作成する事がありますが、その際に既存データを退避するテーブルを
  作成するか否かを指定します。
  ただし、テーブルのソースを直接編集した場合は、データの退避は行われますが、
  変更後のテーブルへのデータ復旧は行われません。
  データを退避したテーブルは、全ての変更作業が正常に終了した場合には自動削除されますが、
  変更作業時にエラーが発生した場合には自動削除は行われませんので、
  必要に応じて手動で削除して下さい。
  チェックを外すと、テーブルを再作成時にデータの退避・復旧は一切行われなくなります。

 ■ SQL文に領域情報を含める
  テーブル、インデックス、制約等のオブジェクトにおいて、ソースに領域情報を
  出力するか否かを指定します。

 ■ 省略時値に文字列を指定した際、シングルクォーテーョンを自動付加する
  テーブル列の省略時値にセットされた値が文字列の場合、生成する SQL に
  シングルクォートを自動付加するか否かを指定します。

 ■ 変更前のソースを保存する
  オブジェクト定義を変更する際、変更前の DDL スクリプトをファイルに出力するか否かを指定します。

 ■ 変更後のソースを保存する
  オブジェクト定義を変更する際、変更後の DDL スクリプトをファイルに出力するか否かを指定します。




[SQL実行]タブ

 ■ SQL履歴数
  [SQL実行]画面での、実行したSQL文の履歴をどれだけ持つかを指定します。

 ■ 区切り文字
  SQL実行画面、スクリプト実行画面での、区切文字を指定します。

 ■ 文字選択された範囲のSQLのみを実行する
  SQL実行画面にて文字の範囲選択をしている状態で実行した場合、
  選択している部分のSQLのみを実行するか否かを指定します。

 ■ SQLビルダ
  SQLビルダのダイアグラム欄、グリッド欄のフォントを設定します。




[データ]タブ

 ■ 結果表示
  データ出力部分で使用するフォントの名前とフォントサイズを指定します。

 ■ 横方向出力時の表示方法
  データを横方向に出力した場合、データを列のどちら側に寄せるかを指定します。
  標準を指定した場合は、文字は左、数値は右に寄ります。

 ■ 縦方向出力時の最大列幅
  データを縦方向に出力した場合の、最大列幅を文字数で指定します。
  通常、列幅はデータ型のサイズを元に自動設定されますが、
  サイズが大きくなると画面に入りきらない場合もある為、
  ここであらかじめ列幅の上限を決めておきます。
  データ表示後には、このサイズを超えて列幅を広げる事も可能です。

 ■ 横方向出力時の列幅
  データを横方向に出力した場合のデフォルトの列幅をポイントで指定します。

 ■ 件数を指定して開く場合の規定レコード件数
  オブジェクトをデータ件数を指定して開く場合の初期値を設定します。

 ■ データ編集時、自動的にCOMMITする
  通常は行移動に変更した値が自動COMMITされるのですが、
  チェックを外すと任意のタイミングでCOMMIT/ROLLBACKする事ができます。

 ■ 初期状態をデータ編集可能にする
  SELECT文実行時、データ編集可能モードでカーソルをオープンしようとします。
  ([SQL実行]画面の[結果を編集可能にする]ボタンと同様の機能です)

 ■ NULL値を表示する
  これにチェックを入れるとNULL値を(NULL)と表示します。
  チェックを入れないと、結果にはブランクが表示されます。

 ■ 抽出条件・ソート順序設定画面を予め開いておく
  テーブル、ビュー、マテリアライズ照会表の[データ]タブにて、
  抽出条件・ソート順序設定画面を開いた状態にするか否かを指定します。
  ([データ]タブの[表示項目の指定]ボタンと同様の機能です)

 ■ 抽出条件の文字・数値を自動識別する
  テーブル、ビュー、マテリアライズ照会表の[データ]タブにて、
  抽出条件の文字・数値を自動識別するか否かを指定します。




[整形出力]タブ

 整形出力のフォーマットを指定します。
項目の改行 項目を1項目ずつ改行するか、改行しないかを指定します。
カンマの位置 カンマの位置を、各項目の後にするか、次行の先頭にするかを指定します。
予約語の変換 予約語の項目を大文字にするか、小文字にするか、変換しないかを選択します。
項目の変換 予約語以外の項目を大文字にするか、小文字にするか、変換しないかを選択します。
ANDの位置 ANDの位置を、各項目の後にするか、次行の先頭にするかを指定します。
予約語の位置 予約語の位置を右詰にするか、左詰にするかを指定します。




[キー操作]タブ

 デフォルトのショートカットキーを任意のキー割り当てに変更します。




[外部出力]タブ

 ■ デフォルトの出力先
  EXCELファイルを出力するデフォルトのフォルダを指定します。

 ■ 出力方向
  データを縦方向に出力するか横方向に出力するかを指定します。

 ■ 項目タイトルを出力する
  項目タイトル込みでEXCELファイルに出力するか否かを指定します。
  定形フォームファイルに上書きする場合等の項目タイトルの出力が必要ない場合はOFFにします。

 ■ 最新のデータを読み直してから出力する
  EXCEL出力時にSELECT文を再度実行し、最新のデータを出力対象にします。

 ■ 標準ダイアログを使用する
  EXCEL出力時に表示されるダイアログを、Windows標準のダイアログにするか、
  専用のダイアログにするかを指定します。
  専用ダイアログの場合は、ファイル名と同時に各自設定の変更が可能です。
  その都度設定を変える事が無い場合はWindows標準のダイアログを使用したほうが便利です。

 ■ フォームファイル名
  各種のEXCEL出力で使用する元ファイルの名前を指定します。
  この値を変更することで独自のフォーマットに出力する事が可能です。
  (通常は変更しないで下さい)




[詳細設定]タブ

 ■ クロスリファレンス最大階層
  [クロスリファレンス]画面での、ツリー情報の最大階層を指定します。
  値が大きいほうが精度の高い結果となりますが、その分処理時間がかかります。

 ■ データ生成ツールコミット件数
  [データ生成ツール]の実行時に何件ごとにコミットするかを指定します。

 ■ 英小文字のオブジェクト名を使用可能にする
  オブジェクト名やテーブル列名等で英小文字を入力可能にし、
  入力した内容のままオブジェクトを作成します。

 ■ 各種エディット時にコード補完を行う
  各種エディット画面でコード補完を使用するか否かを指定します。
  (例えば、SCOTT.と入力したときにSCOTTユーザのオブジェクト一覧を表示するかどうか)

 ■ 作業ファイル作成先
  作業用ファイルを作成するディレクトリを指定します。

3 - 13 エディタオプション

エディタ設定で、 エディタをカスタマイズする事ができます。



[全般]タブ
 ■ オートインデント
  改行時に自動で前行と同じ位置になるようインデントします。

 ■ バックスペースアンインデント
  バックスペースキーでインデント解除になります。

 ■ フリーカーソル
  改行・EOF記号の後にある位置もカーソルで選択できるようになります。

 ■ タブ文字上を移動可能にする
  タブであけた間隔の間をカーソルで選択できるようになります。

 ■ 行末から次行の先頭にカーソルを移動する
  改行コード以降にカーソルを移動させると、
  次行の先頭へカーソルが移動するように設定します。

 ■ タブ文字を使ってインデントする
  インデントをタブ文字で埋めるよう設定します。

 ■ タブ文字を空白に置き換える
  タブの間隔がすべて空白文字になります。

 ■ タブ文字数
  タブの文字数を指定します。デフォルトは8です。

 ■ 選択領域のマウス・ドラッグを許可
  範囲指定している文字列単位でドラッグできるようになります。


[色・フォント]タブ

 ■ 色の指定
   ソース中の基本色、リテラル値、EOF記号、改行記号、半角スペース記号、全角スペース記号、
   カーソル行の下線、コメント、予約語について、色指定を行います。

 ■ フォント
  SQL文の入力ウィンドウやソース編集ウィンドウのフォントを指定します。

 ■ サイズ
  使用するフォントのサイズをポイントで指定します。

 ■ 行番号を表示する
  ソースの表示に、行番号を表示します。

 ■ ルーラーを表示する
  ソースの表示に、ルーラーを表示します。

 ■ ルーラーの単位
  ルーラーの単位を指定します。


[予約語]タブ

 ■ 予約語
  色指定を行う予約語を指定します。[初期値]ボタンを押すと出荷時設定に戻ります。


3 - 14 レポート定義の登録

登録済みのレポート定義を元に定義書フォーマットをカスタマイズすることができます。



[登録] レポート定義を登録します。
[追加] 新規のオリジナルフォーマットを登録できます。
[削除] 現在選択されているタブの定義書フォーマットを削除します。
[戻す] 全ての変更を取り消します。
[終了] レポート定義を終了します。
[定義タイプ] フォームファイルの定義タイプを設定します。
定義タイプは、オブジェクト一覧、テーブル定義、ビュー定義の3種類です。
(定義タイプを変更することで、見出部、明細部の表示項目の選択肢が
変わります。)
[Excel定義名] 定義名を変更します。
[フォームファイル] 出力時に使用する、Excelフォームファイルを指定します。
(事前にフォームファイルをExcelで作成する必要があります)

※インストールされたExcelのバージョンが2007以上の場合は、
 フォームファイルにxls形式を指定している場合でも
 同一フォルダにあるxlsx形式のフォームファイルが
 優先して使用されます。
[明細開始位置] 明細が開始される行位置を指定します。
[明細行数] 明細の行数を指定します。

3 - 15 オブジェクト比較

異なるスキーマの所有するオブジェクトを比較することができます。



[実行]
 オブジェクト比較を実行します。

[終了]
 ウインドウを閉じます。

[表示するオブジェクトの条件]
 表示するオブジェクトの条件を指定します。複数選択可能でOR条件です。

 ■ 内容一致
  オブジェクト名が両方に存在し、かつ定義内容が一致するものを表示させます。

 ■ 内容不一致
  オブジェクト名が両方に存在するが、定義内容は異なるものを表示させます。

 ■ 比較先1にのみ存在する
  比較先1にのみ存在するオブジェクトを表示させます。

 ■ 比較先2にのみ存在する
  比較先2にのみ存在するオブジェクトを表示させます。

[比較先1、2]

 ■ DB
  現在接続している、データベースの接続リストを選択します。

 ■ 所有者
  オブジェクトの所有者を選択します。

3 - 16 データ生成ツール

既存のテーブルに、データ生成ツールを使用してテーブルにデータを投入することができます。



[実行] データ生成を実行します。
[テスト] データ生成のテストを行います。
[終了] データ生成ツールを終了します。
[スキーマ] スキーマを選択します。
[名前] テーブル名を選択します。
[通常データ生成] 通常のデータ投入方式でデータを生成します。
作成件数は、生成するデータの件数を入力します。
[親テーブルのデータに
 従属するデータを作成]
データを投入するテーブルが、親テーブルと従属関係にある場合、
親テーブルの1件あたりに対するデータ投入件数の範囲を指定します。
[設定値] 連番、乱数値、選択値、固定値、テンプレート、リンクテーブル値、
親テーブル値を指定することができます。
[NULL比率(%)] 投入するデータにNULL値が入る比率を指定します。


[連番(文字列)]


[連番(数値)]


[連番(日付)]


[連番]
 値をインクリメントしながら順に値を割り振ります。
 ID列など一意に番号を並べたい場合に指定します。
 値範囲には、データの初期値を入力します。
 増分値には、初期データから増分する値を入力します。

 テーブル項目が文字型の場合は、「全桁埋める」にチェックを入れる事で前ゼロを付加した値をセット、
 また、「接頭句をつける」にチェックを入れる事で「OB0001」などの固定値+連番データを
 生成することが可能です。




[固定値]
 すべて同じ値を割り当てる場合、またはSELECT文やFUNCTIONを指定する場合に使います。


[乱数値(文字列)]


[乱数値(数値)]


[乱数値(日付)]


[乱数値]
 指定された値の範囲内でランダムに値を割り振ります。
 文字型の場合は電話番号、メールアドレスなどのフォーマットが指定可能です。

 テーブル項目が文字型の場合は、「最大桁数」にチェックを入れる事で
 指定した桁数以内の値をセットします。




[選択値]
 あらかじめ割り振る値の一覧を作成し、そこからランダムに割り当てることができます。




[テンプレート]
 指定されたテキストファイルから値を割り振ります。
 ファイルは一度に2つまで指定可能です。
 テンプレート1とテンプレート2の間に文字を入れたい場合は、
 区切り文字に間に入れる文字を指定します。




[リンクテーブル値]
 指定されたテーブルと列に存在する値を割り当てます。




[親テーブル値]
 親テーブルの列を指定して、その値を割り当てます。
 (「親テーブルのデータに従属するデータを作成」を選択していないと表示されません。)




[結果]タブ
 データ生成ツールの実行結果が表示されます。
 テストを実行した場合はプレビュー画面が表示されます。
 ※実行中にEscキーを押すと処理を中断し、直前のCOMMITまでROLLBACKします。

3 - 17 インデックスアドバイザ

SQLに対して使用/未使用の未使用のインデックスの検出や、推奨インデックスの作成を
行うことができます。
※この機能を使用するためには、あらかじめ実行計画テーブル(EXPLAIN表)が
 作成されている必要があります。



SQL文を入力し、解析ボタンを押します。以下の情報が表示されます。

■現在のインデックス
 各テーブルに紐づくインデックスと、そのSQLに対する使用状況が表示されます。
 使用されていないインデックスは赤で表示されます。
 インデックスを選択し、削除ボタンを押すことでインデックスを削除することが出来ます。
 インデックスをダブルクリックすると開きます。

■作成するインデックス
 SQLに対し、作成が推奨されるインデックスが表示されます。
 既に同じ列に対して作成済みのインデックスが存在する場合は、グレーで表示されます。
 選択して作成ボタンを押すか、右クリックメニューより作成を選択することで、
 そのインデックスを作成することが可能です。



またインデックスを選択し、テストボタンを押すと、インデックス作成前と作成後の
パフォーマンスを検証することが出来ます。
(実行計画上のコストで算出します。小さいほどパフォーマンスは向上します。)