AmaterasERDを組み込んで、EclipseでDB設計をしよう
データベース(以下、DBとします)設計を行うにあたり、ER図作成ツールはやっぱり欲しい。
できればフリーで、使いやすいもの。
リバースエンジニアリングもしてくれると、既存のDB構造をぱっと出力してくれるし、便利よね。
…これらの要望を叶えてくれるツールとして、これまでDB Designer4を使ってきましたが、クエリで使う語(例:status、orderなど)をカラム名にするとstatus_1などに強制変換されてしまったり、DBスキーマのHTML出力が可能、だけどテーブル数が多いとアプリケーションがハングアップしちゃったりといろいろ問題がありました。
Eclipseプラグインで何かないか、と探しつつも今までしっくりくるものがなかったのですが、今回ご紹介するAmaterasERDはかなり使いやすくてやっと無事にツールの乗り換えができました。
私が気に入っている、次の3点を軸に簡単に解説します。
リバースエンジニアリングが可能
やはりこの機能は必須です。
新規の案件でも、一からスキーマを作るなんていうのはまれです。流用できそうなDBに接続してさっと定義を取得できれば、効率もあがります。
また、既存のDBの構造を調査して、処理を改善する、といった局面でもこの機能が大活躍してくれるはでしょう。(そのような状況のDBには、構造上の問題が必ずあるはずですからね。)
ER図を新規作成するには、ファイル-新規-その他からウィザードを開き、AmaterasERDの「ERダイアグラム」を選択します。
次にファイル名の入力とデータベースの種類を選択します。
MySQLからリバースエンジニアリングを行う場合、JDBCドライバのJARファイルへのパスを設定し、DB接続情報を適切に入力します。
正常に接続ができると、テーブルの読み込みが行えるので、読み込みたいテーブルを選択し(複数選択可)、ウィザードを終了します。
(下図の左がウィザード開始ダイアログ、右がテーブルのインポートを行うダイアログです。)>
論理設計/物理設計の切り替え表示
論理設計と物理設計のビューをコンテキストメニュー(右クリックで表示されるメニュー)で簡単に切り替えることができます。>
外部キーの定義もCakePHPのような形式(例:site_id と sites.id を関連付ける)でも可能です。
(ただし私の環境では論理設計ビューのときと物理設計ビューのときカラムの選択肢が異なりました。論理設計ビューで設定するとCakePHPの規約どおりの外部キー定義を追加できました。)
javadoc風HTMLレポート出力
もっともうれしかった機能が、このHTMLレポート出力です。
レポート出力もコンテキストメニューより行えます。
出力内容は、本当にJavadoc風。テーブルやカラムごとのコメントもすべて反映されるため、DB設計に関わる事柄はここですべて記述すれば、ドキュメント化してくれるのでとても楽チンです。
これらのコメントはDDLにもコメントとして追加されますので、DBの実態とドキュメントが乖離していくのを防ぐことがこのAmaterasERDでは可能だといえます。
今年に入って機能が充実してきたAmaterasERD、皆さんも試してみてはいかがでしょうか。