SI Object Browserの基本がマスターできるチュートリアル

 2021.04.16  株式会社システムインテグレータ

SI Object Browserを初めて使う方向けのチュートリアルを作成しました。データベース接続から基本的な操作であるテーブルの作成、検索、編集などの操作やSQLを実行する方法についてご紹介します。

前提条件として、SI Object BrowserにはSQL Server版、PostgreSQL版など様々なデータベース対応版がありますが、Oracle版でご紹介します。(データベース接続以外のところは各エディション共通です。)

また、Oracle Databaseがインストールされている前提とします。もしOracle Databaseインストールされていない方は「Oracleの基本~初級編~」という資料にダウンロードおよびインストール方法を紹介していますのでご覧ください。(Oracle Databaseは個人の勉強目的であれば、無償でご利用いただけます。)

データベースに接続する

それでは、SI Object Browserでデータベース接続から行ってみましょう。
まずSI Object Browserを起動してください。(はじめて起動する場合のみ、SI Object Browserのアイコンを右クリックして「管理者として実行」をクリックしてください。)

以下のようにライセンスキーを入れる画面が表示されますが、トライアルとして利用する場合は「スキップ」を押してください。30日間はこの方法で利用することができます。なお、もし購入後の場合はこの画面でライセンスキーを入れることで製品版となり、このダイアログは出なくなります。

1

画面1.SI Object Browser起動後の画面(トライアル版の場合)

続けて、画面2のようなログイン画面が表示されます。

画面2.ログイン画面

ログイン画面はOracle版等のエディションにより多少異なりますが、Oracle版の場合はユーザーIDにはスキーマ名、パスワードに接続パスワードを入れます。「データベース」にはtnsnames.oraで登録されたサービス名を入力します。(Oracle Database 標準ツールである「SQL*Plus」で接続できるのであれば、SI Object Browserでも接続できるかたちになります。)その他は既定のままで問題ありませんので「接続」をクリックしましょう。

なお、SI Object BrowserのOracle版の場合は、OCI(Oracle Call Interface)の仕組みで接続しますので、Object Browserと同じ端末にOracle Database ClientまたOracle Database Serverがインストールされている必要がありますのでご注意ください。

次回から簡単にログインする

もし頻繁に同じユーザーで接続する場合は、「接続」ボタンを押す前に「接続先リストに登録する」のチェックを入れて接続します。ログイン画面の接続リストに登録され、次回からはダブルクリックで接続できるようになります。

テーブルデータを閲覧する

データベース接続に成功すると、画面3の「オブジェクトリスト」という画面が表示されます。この画面でデータベース内のスキーマおよび、スキーマが所有しているテーブルやインデックス、ビューなどのデータベースオブジェクトを検索することができます。左側のツリーにて、スキーマのアイコンを押すと「TABLE」「VIEW」などのデータベースオブジェクトのアイコンが出ますので、データベースオブジェクトのアイコンをクリックすると右側のリスト欄に、選択したスキーマ内の、選択したデータベースオブジェクトが絞り込み表示されます。

この方法で適当なテーブルを探して、テーブルをダブルクリックしましょう。

画面3.オブジェクトリスト

テーブルの定義情報画面が表示されますが、続けて、テーブル画面の「データ」タブをクリックしましょう。画面4のように、そのテーブルの全レコードが表示されます。

画面4.テーブル画面のデータタブ

もし、データを絞り込み表示したい場合は、この画面上部にある検索フィルタ欄を使用します。検索、「=」、「下限値」、「上限値」などの各列に設定することで、イコール検索や範囲指定検索が可能です。画面5では「部署コードが10かつ、電話番号が’03’ではじまるものを指定しています。
このように複数指定した場合はAND条件となります。さらに、検索結果を並び替えたい場合は「ソート順序」に1,2などの優先順位を指定することで可能です。また、OR検索やIS NOT NULLなどの条件で検索したい場合は検索フィルタの上にある「条件」欄を使います。条件欄には「DEPT_CODE = 10 OR EMP_NAME IS NOT NULL」など、WHERE句以降の条件文を直接入力します。最後に左上の三角アイコンを押すことで絞り込まれたデータが表示されます。

画面5.テーブル画面のデータタブ(検索フィルタ)

テーブルデータをメンテナンスする

また、この画面でセルをクリックし、データを書き換えることができます。また、データをレコードを追加したい場合は、「+」ボタンをクリックします。新規レコード行が表示されますので、各セルに値を入力します。入力後は、上下キーまたはマウスで、他のレコードに移動します。これで、データが追加(INSERT)されます。反対にレコードを削除したい場合は、行の左側をクリックし、行選択された状態で、「-」ボタン、またはDELETEキーを押すことで選択したレコードが削除されます。CTRL+Aキーを押すと全レコードが選択されますので、テーブルデータをすべて削除したい場合は、全レコードを選択後、「-」ボタンか、DELETEキーを押してください。全てのレコードが一度に削除されます。

このように、OBではSQLを使うこと無く簡単なキーボード操作でデータの参照や登録、変更操作が可能となっています。

画面6.テーブル画面のデータタブ(編集時)

ただし、コミットまたはロールバックを行なうまでは、データの変更操作は確定されていません。コミットを行なうには、メインウィンドウの上部にある「COMMIT」ボタンをクリックします。また、誤ってデータを変更した場合は、1つ右にある「ROLLBACK」ボタンをクリックすることで、変更をキャンセルすることができます。

画面7.テーブル画面のデータタブ(編集時)

自動的にコミットする

SI Object Browserではデータ編集と同時に自動コミットするように設定することも可能です。自動コミットにしたい場合は、「ツール」メニュー→「オプション」→「データ」タブにある「データ編集時に自動COMMITにする」チェックボックスをONにします。

画面8.オプション画面(データタブ)

その他、データタブの左側にある「Excel出力」ボタンよりExcelへの出力や、列、レコードの表示を縦横反対に表示することができます。

テーブルを新規作成する

また、新たにテーブルを作成したい場合は画面3のオブジェクトリストの左側の「TABLE」を右クリックし、「新規作成」を選択しましょう。

ob-tableadd1画面9.テーブルの新規作成メニュー

テーブルの新規作成画面が表示されます。テーブル名と列名ごとにデータ型、長さを入力しましょう。「必須」をONにした場合はNOT NULL制約が付与されます。「コメント」列は備考用の列ですので、任意で構いませんが、定義情報など入れておくとわかりやすいでしょう。入力後は「作成」ボタンをクリックします。

ob-tableadd2画面10.テーブルの新規作成画面

これでCREATE TABLE文が発行され、テーブルが作成されます。作成した後は前述と同様、「データ」タブに切り替えてデータのメンテナンスができます。また、画面9でテーブル以外のアイコンを右クリック→新規作成よび、ビューやストアドプロシージャ、トリガーなど様々なデータベースオブジェクトが作成が可能となっています。

定義を修正する

テーブルの作成後も定義情報タブの情報を書き換えることで、定義の修正が可能です。(内部ではALTER TABLE文が発行されます。)また、「ソース」タブに切り替えると画面11のようにそのテーブル作成用のSQL文(DDL)が表示されますので、このSQLを直接書き換えることでも定義の変更が可能です。「ソース」タブで修正した場合はDROP TABLE→CREATE TABLE文の順でSQLが発行されますが、その前後でバックアップテーブルの作成およびバックアップテ-ブルからのデータ復旧のSQLも自動作成されますのでレコードデータは消えないようになっています。

ob-source画面11.テーブル画面の「ソース」タブ

大量のデータを生成する

結合テスト向けなどに大量のデータを生成したい場合があります。その場合はデータ生成ツールという機能が用意されています。テーブル画面の中に「データ生成」というボタンがありますのでこちらをクリックしましょう。

ob-datagen1画面12.テーブル画面(データ生成ボタン)

以下の画面が表示されます。上にあるテキストボックス欄に作成したい件数を10000件など好きな件数を設定しましょう。また、下側では各列ごとにデータの種類が設定できます。「連番」「乱数値」「固定値」等の他他の親テーブルなどからデータをもってくる「リンクテーブル値」やランダムな氏名や住所などが生成できる「テンプレート」が用意されています。各列の設定を終えた後は、「実行」ボタンをクリックします。

ob-datagen2
画面13.データ生成ツール

実行中の画面が表示されます。10000件ぐらいであれば数秒で作成できます。桁数が1桁しかないのに2桁の固定値を入れようとした場合など、設定によってはエラーになる場合がありますので、その場合は再度オプションタブに戻り設定を修正してください。

ob-datagen3画面14.データ生成実行時の画面

正常に実行後は「データ」タブに切り替えて作成されたデータを確認してみましょう。実行した例は以下の通りです。氏名や電話番号などの本物に近いデータが生成されますので、パフォーマンステストだけでなく、本物のデータを想定したシステムテストで使うことができます。

ob-datagen4画面15.データ生成後のテーブルデータ画面

SQLを実行する

単一のテーブルの場合は上述の方法で閲覧やメンテナンスができますが、テーブルを結合する場合はSQL文を使う必要があります。SI Object Browser ではメインウインドウの左上にあるのアイコンをクリックするか、「表示」メニュー>「SQL実行」を選択、またはCTRL+Sキーのいずれかの方法でSQL実行の画面を呼び出すことができます。この画面ではSQLを直接入力し、実行することができます。SQLを手入力という意味ではSQL*Plusなどと同様ですが、SI Object Browserではコードアシスタント機能がついており、スキーマ名に続けて「.」と打つことでテーブル一覧、テーブル名に続けて「.」と打つことで列一覧が表示されます。この機能を使って、素早く正確にSQLを入力することができます。

画面16.SQL実行画面

SQL入力後は実行ボタンまたはALT+Eキーで実行ができます。SELECT文であれば下にSELECT結果が表示されます。

画面17.SQL実行画面(SQL実行後)

また、Object Browserの便利な点として、実行したSQLが自動保存される点があります。履歴ボタンをクリックしてみましょう。

ob-log
画面18.SQL実行画面の履歴ボタン

実行したSQLの履歴が表示されます。ここから再実行したいSQLをクリックして「選択」ボタンを押すか、SQLをダブルクリックすることでSQL実行画面にSQLがセットされますので、簡単に再実行ができます。

ob-log2画面19.SQLの履歴一覧

 

また、SQL実行画面の「前へ」ボタンを押すごとに1つ前の履歴のSQLを表示することができますので、ここから過去のSQLを探して、素早く再実行することもできます。

ob-log3

画面20.SQL実行画面(前へボタン)

SQL実行画面からテーブル画面にジャンプする

また、SQL実行画面でテーブル名の部分を選択して、右クリック→「テーブル定義へジャンプ」を選択するとさきほどのテーブル画面にジャンプすることができます。SQL入力中に「この列のデータ型は何だっけ?」と定義を調べたくなった時はこのテクニックを使うことで、すぐにテーブルの定義画面やテーブルの全データを確認することができます。

画面21.SQL実行画面(右クリックメニュー表示時)

SQLを簡単に組み立てる

また、仮にSQLの買い方を知らない方でもビジュアルでSQLを組み立てることができる「SQLビルダ」という機能も用意しています。SQL実行画面の右上にある(SQLビルダ) ボタンをクリックすると、画面12のようになります。上から順に、「ダイアグラム」「グリッド」「SQLエディタ」ペインになります。

画面22.SQL実行画面(SQLビルダ表示時)

一番上の「ダイアグラム」ペインにて左端にある「+」ボタンを押します。画面13のダイアログが表示されますので、検索対象となるテーブルを選択し、「選択」ボタンをクリックします。

画面23.テーブルの選択

「ダイアグラム」ペインに選択したテーブルが追加されます。次に、「ダイアグラム」ペイン上でテーブルの中から表示したいテーブル列をダブルクリックします。「グリッド」ペインに選択した項目が追加され、さらに、「SQLエディタ」ペインにもSQLが作成されていきます。

また、2つのテーブルにある列をマウスで結ぶことでテーブルの結合をすることができます。この例では「DEPT_CODE(部門コード)」が共通列となりますので「ダイアグラム」ペインより片方のテーブルの「DEPT_CODE」をクリック後、もう一方のテーブルの「DEPT_CODE」列までマウスでドラッグ&ドロップします。

これにより、「DEPT_CODE」同士が線で結ばれ、「SQLエディタ」ペインにも結合用のSQLが作成されます。SQL完成後は、実行ボタンをクリックすることで「実行結果」ウィンドウに実行結果が表示されます。

画面24.SQL実行画面(SQLビルダ設定後)

他にも「グリッド」ペイン上ソート順序やグルーピング、COUNTなどの集計の指定が可能です。SQLビルダを使えば、エンジニア以外のSQLの書き方を知らない方でもテーブル結合などのSQLが実行可能です。

ストアドプロシージャを開発する

Object Browserにはテーブル以外にも様々なデータベースオブジェクトの作成・管理が可能です。代表的なデータベースオブジェクトとしてストアドプロシージャの作成方法をご紹介します。左ペインの「PROCEDURE」を右クリックし、「新規作成」をクリックします。proc1

画面25.ストアドプロシージャの新規作成メニュー

作成画面が表示されますので「名前」欄にストアドプロシージャ名を入力し、ストアドプログラムのコードを入力します。Oracle版の場合はPL/SQLのコード入力が必要となりますが、久しぶりに入力する際はつい書き方を忘れがちです。そのようなときは右上の「サンプル」ボタンを押してみましょう。

proc2画面26.ストアドプロシージャの新規作成画面

PL/SQLのコードサンプルを確認することが表示され、変数の宣言やIF文、LOOP文、例外ブロックを確認することが可能です。サンプルコードをコピーして作成画面に貼り付けることも可能です。

proc3画面27.ストアドプロシージャのサンプルコード

また、その他にも作成を手助けする機能がついています。「作成」ボタンを押すとコンパイルが実行されますが、エラーは下部に一覧として表示されます。エラー行をダブルクリックすることで該当行にジャンプすることができますのですぐに対象箇所を特定し、修正することができます。

proc4画面28.ストアドプロシージャのコンパイルエラー時の画面


また、コンパイルの正常完了後は「実行」というボタンで作成したプロシージャを動かすことができます。

proc5画面29.ストアドプロシージャのコンパイル完了後の画面


ストアドプロシージャに引数が設定されている場合は引数の入力欄表示されますので値を入力して実行が可能です。また、PL/SQL内にDBMS_OUTPUT.PUTLINE関数を使用している場合はその出力値も表示されます。さらに、デバッグ実行も可能です。「DEBUG」ボタンを押してみましょう。

proc7画面30.ストアドプロシージャ実行画面

Visual StudioやEcripseなどのIDEと同様、1行ごとにコードを動かしながら変数値の確認や
ブレークポイントの設定が可能です。また、サブプロシージャを読んでいるときは「ステップイン」でサブプロシージャに遷移することも可能です。

proc8画面31.ストアドプロシージャのデバッグ画面

 

以上でSI Object Browser のチュートリアルは終了です。今回はSI Object Browserの基本的な使い方をご紹介しましたが、その他にもインデックスやビュー、トリガーなどのデータベースオブジェクト作成やテーブル定義書などのExcel出力機能、ユーザーの新規登録やロック情報確認などの管理者向け機能、エクスポート・インポート機能など、様々な機能をご用意しています。当ブログでご紹介していますのでぜひあわせてご覧ください。

CTA

RELATED POST関連記事


RECENT POST「OBをトコトン極める」の最新記事


OBをトコトン極める

Oracle 煩わしい文字列入力をスキップ!? ワンステップ接続とは

OBをトコトン極める

oracle テーブル一覧の活用方法

OBをトコトン極める

Oracle テーブル一覧・列一覧を取得する

OBをトコトン極める

細かすぎて伝わらない!SI Object Browserの便利技10選

SI Object Browserの基本がマスターできるチュートリアル