読者です 読者をやめる 読者になる 読者になる

mysqlviz使って自動でER図作成してみた

手動でER図をゴニョゴニョ作ってたけど、めんどくさくなってきたので、

お手軽に作れないか探したら良い感じにできそうなのでメモ。

ER図とは?

E-R図 (Entity Relationship Diagram)

DBのテーブル設計する際に用いられる図です。

各テーブルとの関係性を表すのに使われますが、書くのがめちゃくちゃめんどくさい…

かといって書かないと全体像がわかりにくいので、頑張ってcacooを使って書いてました。

ただ、やっぱり手動でちまちま書くのはめんどくさいのでいろいろ探してたら、mysqlvizというものを見つけたので使ってみました。

mysqlvizは、DBからdumpした結果を使って、ER図を生成してくれます。

なので、テーブル構成を決めてしまえばあとはmysqlviz側が勝手に判断して作ってくれます。

では実際に動かしてみます。

まず、適当なテーブルを作ります。

create table user (

`id` int(10) unsigned NOT NULL auto_increment,

`name` varchar(100),

`section_id` int(11),

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

create table section (

`id` int(10) unsigned NOT NULL auto_increment,

`name` varchar(100),

PRIMARY KEY (`id`) ,

FOREIGN KEY (`id`) REFERENCES `user` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

マニュアルを見た感じは外部キーの設定はしておかなくてもいけそうだけど、うまく動かんかった…

mysqlvizをダウンロードして、適当なディレクトリへ置き解凍しておく。

mysqlviz/

で、対象のDBをdumpしてあとはmysqlvizにツッコむだけでOK。

# -dオプションをつけるとテーブルの定義だけdumpできます。

$ mysqldump -uroot -ppassword -d test >db.sql

$ ./mysqlviz -f ./db.sql >./db.dot

できたdotファイルは、graphvizというものを使ってpng化します。

graphvizをインストール。

(OSによって違うので、最適なやつでどうぞ)

$ apt-get install graphviz

$ yum install graphviz

$ sudo port install graphviz

graphvizのインストールが完了したら、以下のコマンドを叩いて実行。

$ dot -Tpng db.dot >db.png

完成したER図はこちら。

簡単…

db



参考URL

独り言

これはウェブページです。

このリンクいいなぁ・・・