設計工程の機能比較!
Eclipseでのデータベース設計
EclipseではUML同様、データベース設計もデフォルトではサポートされておらず別途プラグインをインストールする必要があります。Eclipseでデータベース設計を行うプラグインとしては以下のようなものがあります。
Clay
Eclipse上でERダイアグラムを記述するためのプラグインとしては老舗的な存在です。無料で利用可能なバージョンと、Oracleなどの商用データベースやダイアグラムの印刷などに対応した有償版が存在します。以下のURLから入手することができます。
2005年からバージョンアップされていないのが残念なところです。WebサイトにはEclipse 3.1対応と記載されていますが、筆者の試したところではEclipse 3.3でも特に問題なく動作するようです。
AmaterasERD
AmaterasUMLと同じくProject Amaterasで開発されているオープンソースのERダイアグラム描画用のプラグインです。JDBC接続可能なデータベースからダイアグラムを作成した り、作成したダイアグラムからDDLを生成することが可能です。以下のURLから入手することができます。
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=AmaterasERD
AmaterasERDの特徴としては、テーブルやカラムの論理名称を入力することができ、ダイアグラムを論理名でも表示できるという点があげられ ます。データベースの論理設計時に論理名のみ入力してダイアグラムを作成し、物理名などの詳細な情報を物理設計時に入力するといった使い方が可能です。
JDeveloperでのデータベース設計
JDeveloperはOracle製品なだけあってデータベース周りの機能が非常に充実しています。当然ERダイアグラムの作成もサポートしています。作成したダイアグラムからDDLを作成したり、直接データベースに反映させることが可能です。
JDeveloper固有の機能としてオフラインデータベースがあります。これはいわば仮想的なデータベースで、ERダイアグラムでテーブルを配置 するとオフラインデータベースにもテーブルが作成されます(もちろん既存のデータベースからオフラインデータベースにスキーマ情報を読み込むことも可能で す)。
オフラインデータベースは実際のデータベースと同様のスキーマ情報を保持しているため、実際にデータベースに接続していなくてもEJB3のエンティティ自動生成といったデータベーススキーマを利用した機能を使用することが可能です。
まとめ
UMLモデリングやデータベース設計といった機能はそれぞれ専用のツールが存在します。これらは目的に特化している分だけ高機能で独立したツールなためツール間の連携が難しかったり、操作性がまったく異なったりして使いこなすのが難しいという問題もあります。
特にUMLダイアグラムについてはIDE上でモデリングを行うことでソースコードとダイアグラムを完全に同期させることも可能であるため、ドキュメントとしてのダイアグラムと実装としてのソースコードの乖離を防ぐことができます。
設計工程といえども開発プロジェクトの一部であることに変わりはありません。可能であれば設計時だけでなく、実装工程や試験工程のことも考慮し、適切なツールを選定するようにしたいものです。
次回は実装工程で使用可能なJava開発支援機能についてEclipseとJDeveloperが提供している主要な機能を紹介したいと思います。お楽しみに!