skillup

技術ブログ

Database ドキュメント作成

ER図作成ツールについて(Mac版)

投稿日:

ER図作成ツールについてMacで色々と調べましたので、メモを。

フリー限定で。

ちなみにwindowsを使っていればA5:SQLが一番使えるかと思います。

以前も下記リンクで説明させていただきました。

30分で完成!テーブル定義書&ER図 自動作成

MacでもEasyWineというツールを使っていれば使える様ですが、いれたところうまく動かずフリーズしてしまいました・・・

ということでMacでのER図生成ツールを調査してみます。

今回の用途ですが、下記の様な要件です。

  • あるシステムで稼働している業務システムで、外部キーなどが全くないテーブル同士(テーブル数70〜80)
  • 主にリレーションに関わるカラムに関して、業務で使用されるテーブルのリレーションがざっくりわかる様にしてほしい。(全カラムの詳細な情報とかはいらない)
  • なるべく短時間でサクッと作りたい。

graphviz

MacではSQLエディタとしてSequelProを使っています。SequelPro ER図で検索したところ、この方法が出てきました。

SequelProでER図を出力する方法

DOT言語というグラフを記述するスクリプト言語がある様なのですが、これを使うことができる様にするのが、 graphviz というライブラリの様です。拡張子は.dotになります。

噂のGraphvizを使ってみる

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です。

画面からラベルやテキストなどを自由に追加できない不便さはありましたが、簡単に使えることもあり、今回はこれを採用しました。

ER図ツールwwwsqldesignerを試してみる

-Database, ドキュメント作成
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

slow-query-logについて

データベースを伴う部分でののチューニングですが、大きく分けると SQLを書き直す インデックスを張りなおす プログラム内部でキャッシュを有効化する 設定ファイルの修正 上記のようなかんじになるのではな …

no image

SQL case式やウィンドウ関数の威力

プログラマには「プログラムは思った通りに動かない。書いた通りに動く。」「バグではない仕様です」なんて面白い格言がいろいろありますが、データベースの世界にも「WHERE句で条件分岐させるのは素人のやるこ …

no image

laravelのmigrationに関して

DBのカラムの保守などをする場合のmigrationに関して。 ポツポツ使っていたのですが、しっかりまとめてなかったのでここでまとめて見ようかと思います。 Contents1 カラム定義2 実際の実行 …

no image

NOT EXISTSの利用

引き続きNOT EXISTSの利用です。 思った以上に使えますね・・・がムズイ。 今回は下記のようなテーブル(seats)があるとします。 ケースとしては新幹線の座席番号で空は席が空いている状態、占は …

no image

データクレンジング

リレーショナルデータベースでデータを管理する前に、しなくてはいけないことはデータをデータベースに登録できる形に整形することです。 このことをデータクレンジングといいます。 これを行わずに何も考えずにデ …

アーカイブ