第2回 データベースモデリングのためのEclipseプラグイン

October 04 [Wed], 2017, 13:18





OSSのERモデリングツールの決定版「ERMaster」

 URL:http://ermaster.sourceforge.net/index_ja.html   更新サイト:http://ermaster.sourceforge.net/update-site/  ライセンス:Apache License 2.0  最新バージョン:1.0.0

 ERMasterはオープンソースのERモデリングツールの中でも最も高機能と思われるツールの1つです。

 Eclipse上でグラフィカルにER図を作成し、ER図からDDLを生成できたり、既存のデータベースからリバースエンジニアリングでER図を作成できるのはもちろんのこと、ドキュメントとして必要な情報を入力することができたり、テーブル定義をExcelファイル(Excelファイルのフォーマットはカスタマイズすることも可能)やJavadoc風のHTMLとしてエクスポートすることができるなど業務で利用することを強く意識した機能が多く搭載されているのが特徴です。

 また、テーブル名やカラム名を自動的に論理名に翻訳する機能を備えています。変換用の辞書はカスタマイズすることもできます。特にリバースエンジニアリング機能で大量のテーブルをインポートした場合に論理名を入力する手間が省けるので便利です。

 ERMasterではテスト用のデータを管理することもできます。データは表形式で入力することができ、作成したデータはSQLのINSERT文としてエクスポートすることができます。

 このように、ERMasterはオープンソースのツールでありながら非常に機能が豊富です。またドキュメントも充実しており、日本語と英語の両方で詳細な利用方法が記載されたマニュアルが用意されています。Eclipse上で利用可能なオープンソースのERモデリングツールとしては一押しのプロダクトです。

実用性重視の軽量モデリングツール「Amateナイキ エアマックス-バスケットボールasERD」

 URL:http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=AmaterasERD  更新サイト:なし(ダウンロードのみ)  ライセンス:Eclipse Public License 1.0  最新バージョン:1.0.8

 AmaterasERDはERMasterと同種のモデリングツールで、Eclipse上でER図を作成し、DDLの生成を行うことができます。もちろん既存のデータベースからリバースエンジニアリングでER図を作成することもできます。

 AmaterasERDの特徴の1つにリバースエンジニアリング時にDBからの差分のみを取り込む機能があります。この機能によってER図の作成後にデータベースに変更が入った場合でも、AmaterasERD上で行った編集内容を失うことなくデータベースに行われた物理的な変更だけを取り込むことができます。

 また、ERMasterと同じく作成したER図からExcelやHTML形式でテーブル定義を出力することができますが、AmaterasERDではAntタスクを使用してHTMLを出力することもできます。ER図をGitやSubversionなどにコミットしておき、JenkinsなどのCIツールで自動的に最新のHTMLを生成するといった使い方が可能です。

 このようにAmaterasERDはERMasterと比べると機能面では劣りますが、実用性を重視したツールといえます。

データベースの進化的設計を実現する「Jiemamy」

 URL:http://jiemamy.org/  更新サイト:http://eclipse.jiemamy.org/release/  ライセンス:Apache License 2.0  最新バージョン:0.3.3

 JiemamyはERMasterやAmaterasERDと同じくEclipse上でER図を作成することのできるツールです。ER図からのDDL生成やデータベースからのリバースエンジニアリングといった機能ももちろん備えています。

 しかし、Jiemamyは単なるERモデリングツールではありません。「データベース設計も含めたより変更に強いソフトウェア開発を実現する」というコンセプトを掲げており、Mavenと連携することでソフトウェアのビルドプロセスの一環としてデータベースの構築を行うことができます。ソフトウェアのソースコードと一緒にJiemamyのダイアグラムをバージョン管理しておくことで過去の状態のソフトウェアと共にその時点のデータベースをいつでも簡単に復元することができるため、ソフトウェアだけでなくデータベースに関しても恐れずに変更を行うことができるというわけです。

 Jiemamyはまだバージョンが若いためか対応するDBがそれほど多くなかったり動作にやや不安定な部分が見受けられるなど実戦投入には不安の残る部分がありますが、開発プロセスそのものの変革を目指して開発されている意欲的なプロダクトといえます。

 ---

 今回はデータベース設計のためのEclipseプラグインを紹介しました。どのプラグインも実用性は充分で、データベース設計のためだけにEclipseを使用するということも考えられます。ただし、商用ツールと比較した場合、今回紹介したプラグインには共通して以下のような欠点があげられます。

  テーブル数の多い大規模なデータベースの設計には向いていない データベース固有の機能を駆使した物理設計を行うことができない

 これらの欠点が問題になる場合は商用のツールの利用を検討したほうがよいかもしれません。

 次回はデータベースと連携したアプリケーションの開発時や、データベースのメンテナンス時などに便利なデータベースフロントエンドとして利用可能なEclipseプラグインを紹介します。

竹添直樹 [著]