文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

色々なER図作成ツール

沢山あるんですが、どれがいいでしょう〜


f:id:treeapps:20180418131549p:plain

今のところERMasterの話題しか挙げていませんが、今まで他のツールも沢山触っています(無料のもののみ)。
実践投入できるツールを探しまくりました。
ちなみに有料のものは触る機会が全くなかったので、触れません。

覚えている中で、以下のER図作成ツールを触りました。

どんな種類がある?

DBDesigner
A5-SQLmk-2
AmaterasERD
MySQL Workbench
ERMaster

1つづつ、メリット・デメリット・感想等を挙げてみます。

DBDesigner

出力されるER図は非常に綺麗です。割と高機能かと思います。
xls等でテーブル定義書は自動生成できません
MySQL5以上の場合、確か何かいじらないと動かなかった記憶有り。
一番問題なのは、開発がずいぶん前に完全にストップしている点です。
バグの修正も、機能追加も永遠に見込めません。

A5-SQLmk-2

割とよくできています。テーブル定義書も自動生成できたと思います。
純粋なER図作成ツールではなく統合ツールである為か、
ERMasterより機能面で劣っていたと思います。(今は解りません)

AmaterasERD

DBMS毎の方言等、痒い所に手が届かない事が多いと思います。

MySQL Workbench

MySQLオフィシャルツールです。
流石、オフィシャルなだけあって、物凄い痒い所に手が届きます。
出力されるER図も綺麗です。
5.2にバージョンアップしてから品質が上がって落ちる事も減ったと思います。

メリット

  • オフィシャルツールという安心感。
  • 超高機能。すんごい細かくオプション設定できます。
  • ER図が綺麗。
  • 描画したテーブルの自動整列機能が素晴らしい!
  • リバースしてER図が生成可能。
  • DBと作成中のER図のdiffが取れて、差分だけDBに適用・もしくは逆、とかできてしまう。

デメリット

  • カテゴリ機能に日本語を入力すると化ける。(日本語を使わなければいい)
  • 有料版の存在。有料版の存在意義を保持する為、無料版は永遠に機能が劣る事が確定。。
  • 有料版しかテーブル定義書が自動生成できない。

外部キーをはらないと、リレーションの線が引けない。 → ver5.2で普通にできた

  • リレーションの線が思うような配置になってくれない。(直角にうねうねする事あり)

個人的に使わない決定打になったのは、外部キーをはらないと、リレーションの線が引けない点です。
当たり前じゃん?と思うかもしれませんが、ERMasterではできるのですよ。

あと、DB設計書の自動生成が有料版限定なのは痛い。。
DBとdiffが取れるのは正直驚き。

ERMaster

最後にERMasterです。個人的に今までみたER図作成ツールの中で、かなりよいと思っています。

メリット

  • 高機能。各種DBMS毎の方言も、最善ではないにせよ、自力で解決できる入力フォームを持っています。(ここ結構重要)
  • ER図が綺麗。
  • ER図の整列ができる。複数のテーブルを選択して、TOPで整列・BOTTOMで整列・センタリング、とか。
  • テーブル定義書の自動生成が高機能。定義書のテンプレートをカスタマイズする機能が標準搭載。これは凄い。テーブル定義書にER図を自動で貼ってくれたりします。
  • 外部キーをはらなくても、リレーションの線が引ける!!
  • グループ機能が超便利! よく「作成日時」「更新日時」等の全テーブル共通カラムがあるが、これらをグループとして登録し、各テーブルにグループを設定する。http://ermaster.sourceforge.net/index_ja.html
  • DDL出力オプションが豊富。DROPを付ける付けないとか、カラムの説明をコメントアウト形式で出力するとか。
  • ER図出力等をantタスクとして実行可能。これは非常に便利です。ほとんどの作業を自動化できます。

デメリット

  • テーブル数が数十個になると、非常に重い。。*.erファイルは1ファイルで数千行になってしまう為、重い。。テーブル定義変更すると7〜8秒固まります。
  • ER図を画像として出力する際、メモリを非常に喰う。eclipseの割り当てメモリが標準だと、まず足りません。。
  • 単語機能が怖い・・ (http://d.hatena.ne.jp/treeapps/20110504/p3
  • カテゴリを2つ重ねて使うことを想定していない? 重ねるとテーブルが移動できなくなったりします。(一時的にカテゴリ管理で非表示にする事で回避可能)

こんな感じで長々と書きましたが、現状ではMySQL WorkbenhとERMasterが優勢と思っています。
ERMasterは方言の対応強化を願いたい所ですが、自力で解決できるので、我慢できます。
MySQL Workbenhも期待してるんですが、開発速度がもっと挙げて欲しい。。(oracle様のせいでもう更新無し、とかもあり得そうで困る)

※ ちょっとMySQL Workbench5.2を使ってみたところ、想像以上に高機能だった。。。これは調査せねば。



ermasterで外部キーを貼らずにDDLを出力する記事を書いたので、参考にしてみて下さい。

実践ハイパフォーマンスMySQL 第3版

実践ハイパフォーマンスMySQL 第3版

MySQL徹底入門 第3版 ~5.5新機能対応~

MySQL徹底入門 第3版 ~5.5新機能対応~

  • 作者: 遠藤俊裕,坂井恵,館山聖司,鶴長鎮一,とみたまさひろ,班石悦夫,松信嘉範
  • 出版社/メーカー: 翔泳社
  • 発売日: 2011/08/26
  • メディア: 大型本
  • 購入: 9人 クリック: 82回
  • この商品を含むブログ (9件) を見る
エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド