小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle DBをERMasterでリバースエンジニアリングしてみる

はじめに

今年から、あるシステムを引き継ぐことになりました。

リレーショナルデータベースを使うシステムで、各テーブルの項目定義書のような資料があることは分かっています。しかし、テーブル間のリレーションに関する資料をみたことがないので、既存のデータベースからリバースエンジニアリングで、ER図をおこすことができないかと考えました。

DB設計の神ツール「ERMaster」

以下のページに書かれているERMasterというツールを使うと、既存のOracleデータベースからER図を生成できることが分かりました。

この記事では、DB設計の神ツール「ERMaster」で、すでにデータベース上に存在するテーブルから、ER ダイアグラムをリバースして生成してみました。

必要なもの
  • Eclipse
  • ERMaster(Eclipseプラグイン)
  • Oracle Database 11g Express Edition
  • Oracle JDBCドライバ
ERMasterを使うための準備

ERMasterは、Eclipseのプラグインであり、単位で動かすことはできません。まずは、Eclipseのセットアップから行う必要があります。
Eclipseのインストール手順については、以下の記事を参考にしてください。

ERMasterをEclipseにインストールする

ERMasterは以下のサイトから入手します。

ダウンロードしたjarファイルをEclipseのプラグインフォルダにコピーします。
eclipse.exe -clean.cmdからEclipseを起動します。

Oracleに接続するためのJCBCドライバを入手する

ERMasterがOracleデータベースに接続するためには、JDBCドライバが必要です。JDBCドライバは以下のサイトから入手します。

あまりにも多すぎてよくわからなかったので、ぼくはojdbc6.jarをダウンロードしました。

空のER図を新規に作成する

はじめに、空のプロジェクトを作成します。
1.ファイル→新規→プロジェクトを選択する
2.一般→プロジェクトを選択する。
3.プロジェクト名(ここは仮にTest)を指定して、プロジェクトを作成する。

つづいて、新規にER図を作成します。
1.ファイル→新規→その他を選択する。
2.ERMasterを選択し、次へ(N)をクリックする。
3.Testプロジェクトを選択し、ファイル名(仮にnewfile)を入力して、次へ(N)をクリックする。
4.データベースにOracleを指定する。
以下のように方眼紙のような画面が表示されます。

ERMasterからOracle DBに接続する

方眼紙を右クリックし、インポート→データベースを選択します。

データベースの接続情報を入力します。このとき、JDBCドライバを聞かれますので、ダウンロードしておいたJDBCドライバのパスを指定します。

ER図の生成対象となるスキーマを選択します。

さらに、出力対象のテーブルを選択します。デフォルトはすべてが対象になっています。

OKボタンをクリックすると、テーブルのインポートが開始されます。
インポートが完了すると、次のようなER図が出力されます。

おわりに

今回はテスト用のテーブル2つだけで試しましたが、見た目もきれいに出力されて、実業務でも使えそうな予感です。エクセルファイルでの出力も可能なようなので、今後試してみたいと思います。