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

論理設計のアンチパターン その2

今回は論理設計のアンチパターンの続きです。 今までに比べると何も意図がないというものではなく、パフォーマンスを考えて設計されているようなものが多いです。 ただし、中には絶対に許されないタイプのものもあ …

no image

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

現在携わっているプロジェクトでテーブル定義書やER図を作成することに。 えーこういった資料の特徴として、 年月を経るごとに本番との差分ができてしまい、結局だれも見ない・・・なんてことになりがちですよね …

no image

データ構造の基礎知識 後編 木構造

データベースの学習をしていたときの復習です。 データ構造の基礎知識 前編 メモリとポインタ、配列と連結リスト データ構造の基礎知識 中編 ハッシュ 今回はもう少し複雑な「木構造」について考えてみます。 …

no image

joinとeager loading

フレームワークでデータをORMがらみでjoinするときのネタ。 自分の場合はLaravel。他のフレームワークでも考え方は通じるものあるかと・・ Contents1 通常のjoin2 ループの中で取得 …

no image

SQL問題

今までやったSQL問題などのまとめ。定期的にやる予定です・・ 自分用なのでテーブルデータとかあったりなかったりいい加減です(汗) SQLドリル 問題1 nameとageで構成されたテーブルがあるとして …