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

集合としてのSQL その2

本日も前回に引き続き集合としてのSQLに入っていきます。 Contents1 完全一致のテーブル2 重複行の削除 完全一致のテーブル 下記のようなテーブル(supparts)があり、持っている部品が完 …

no image

SQLにおけるナンバリング

本日はナンバリングに関して。 MySQLを使っていますと各テーブルにはid int not null auto_increment primary keyなどと打って主キーを打つことがほぼ習慣になって …

no image

JPAまとめ

JPAわけわかんねーと思い、触りはじめてから3か月ぐらいたちます。 いまだに細かい部分はよくわかっていないことは多いのですが、全体像というか何となくどういうものかはわかり始めてきたいのでまとめたいと思 …

no image

プロジェクトマネジメントについて

ある程度、大規模なプロジェクトを経験させていただき、経験だけでなくプロジェクトマネジメントを体系的に理解しておきたいため、ポツポツと本を読んでます。 比較的初心者でも読みやすいと思った本としてを2冊メ …

no image

外部結合について 行列変換

今回から外部結合について学習します。 これはCASE式でもやった集合の考え方が大事になってきます。 例えば下記のようなテーブルCoursesとがあるとします。 name | course &#8212 …