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

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

SQL 更新系に関して

SQL実践入門、残り2章になりましたが、いやーむずいっす。 今回は9章を進めていますがSQLはもともと検索を主な用途として発展したため、SELECT文の使用がメインになります。 ですが、UPDATE文 …

no image

データクレンジング

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

no image

小〜中規模程度のWEBアプリ作成で気をつけるべきこと

初見の処理系(ライブラリ操作)などは休日などで最小パターンを確認しておくこと。実務で何時間も悩むと非常にストレスがたまる テーブル設計命。あとで終えるようにトレースができるような値を入れておくこと。 …

no image

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

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