ER図作成ツールについてMacで色々と調べましたので、メモを。
フリー限定で。
ちなみにwindowsを使っていればA5:SQLが一番使えるかと思います。
以前も下記リンクで説明させていただきました。
MacでもEasyWineというツールを使っていれば使える様ですが、いれたところうまく動かずフリーズしてしまいました・・・
ということでMacでのER図生成ツールを調査してみます。
今回の用途ですが、下記の様な要件です。
- あるシステムで稼働している業務システムで、外部キーなどが全くないテーブル同士(テーブル数70〜80)
- 主にリレーションに関わるカラムに関して、業務で使用されるテーブルのリレーションがざっくりわかる様にしてほしい。(全カラムの詳細な情報とかはいらない)
- なるべく短時間でサクッと作りたい。
graphviz
MacではSQLエディタとしてSequelProを使っています。SequelPro ER図で検索したところ、この方法が出てきました。
DOT言語というグラフを記述するスクリプト言語がある様なのですが、これを使うことができる様にするのが、 graphviz というライブラリの様です。拡張子は.dotになります。
SequelProからはdotファイルが簡単に作れるのですが、 graphviz を使って簡単に画像ファイル化できます。
欠点としては外部キーなどがもともと設定されていないとダメです。
パーフェクトなDB設計がされていて、それをそのまま読み込めば全て意図通りの設計図が出てくるというなんてケースはあまりありません。
いじるためにはdot言語に多少習熟している必要があるでしょう。
MySQLWorkBench
Oracleの有名なツールです。元来は有償のツールですが、無償でもそこそこは使えます。
DBに関する機能はほとんど備わっているかと思いますが、大量にメモリーを消費することと、機能が多すぎて使いこなすのがやや大変かもしれません。
ある程度時間がある場合にはこれが良いでしょう。
wwwsqldesigner
普通にGitなどに上がっているPHP&JavaScriptのソースです。
https://github.com/ondras/wwwsqldesigner
pullしてきて、DB情報などを書き込んであげれば画面上にER図が作成されます。
カラムの編集や追加なども比較的簡単で画面からでも編集できますし、吐き出されるxmlなどをいじっても大丈夫ですし、ブラウザに保存などもできますし、SQLの作成などもできます。
かなりシンプルなPHPで書かれているので内部をみていただければわかると思いますが、
backend/php-mysql/index.php の下記部分を修正していただければOKです。
1 2 3 4 5 6 |
function setup_import() { define("SERVER","localhost"); define("USER","db_user"); define("PASSWORD","db_pass"); define("DB","db_name");←空白でも「DBからインポート」時に聞かれます。 } |
画面からラベルやテキストなどを自由に追加できない不便さはありましたが、簡単に使えることもあり、今回はこれを採用しました。