ER図が雄弁な時代

DBDesigner4でAkelosアプリをドキュメント化して、納品。今こそER図なんだな、と気がつきました。

自営を始めてからというもの、めっきり設計書というものを書かなくなってしまった。自分でデッサンするのに、UMLを使う程度。

納品条件にはナイので、自分の方から「設計書はどうしますか?」と聞いても、大抵は「それで高くつくのならイラナイ」と回答が返ってきます。
楽になるのはうれしいんだけど、ボクもプロの端くれである。
ボクが死んでしまったとき、誰かが引き継がなければならないことを考えると、必要最低限のドキュメントは、納品しておきたい。

Railsなら、RDocRailroadで十分だと思っています。
AkelosなどのPHPフレームワークなら、phpdocと、何を使おうか。。。
と探して、DBDesigner4を使うことにしました。

DBDesigner4

コレがオープンソースって、スゲーな!と思わせるツール。無償DB設計ツールとしては、Eclipseプラグインとかの100倍いいです。

MySQL5で使う場合、いつものOLD_PASSWORDの問題に引っかかってログインに失敗するので、

 >mysql -u root -p
 mysql> use mysql
 mysql> update user set password=old_password('pass1')
          where user='user1';
 mysql> flush privileges;

とします。
で、DBDesigner4のメニューから、「Reverse Engineering」を選択して、対象DBを選択すれば、一発でER図が出力されます。



エンジニア同士の会話に必要なドキュメントであれば、これで十分でしょう。カラム名が意味不明なものだったりしたら、設計書はバッチリ残して欲しいのだが、今日び、そんなカラム名を使う人、もういないよね?
ね!?

ER図がこんなに雄弁になったのは、

皮肉にも、オブジェクト指向が普及してからではないだろうか。

データ指向・正規化云々が主流だったころのER図は、読めたもんじゃなかった。カラム名や集約・関連が、業務を表していなかったからです。なんだか分からないエンジニアの個人的な執着が入り乱れた、奇怪なER図、ありますよね。

いわゆるO-Rマッパは、リレーショナルデータベースの使い方を、より標準化したんじゃないでしょうか?技術的にではなくて、文化的に。
OとRの違いを吸収する、というよりは、RをO化した。そんな印象を持っています。

ER図を見て、ソースコードを見れば、何をやってるか直ぐにわかるようになったのは、Railsライクなフレームワークが、ソースコードの大部分を宣言文の集まり(メタプログラミング)にしてしまったから。


オブジェクト指向やRails、新しいものと融合して、いつの間にやら、
ER図がこれほど役に立つ道具になっていた。
図は何も変わっていないのにね。これはちょっと新鮮な発見でした。


コメント
福神漬
2007/09/26
railroadでuser_id とかの_idの部分まで
表示できたらなぁって思うんですけどね。
武田ソフト
2007/09/26
確かに。必要になるのは結構特殊な場合だとは思いますけどね。
railroadのソースはかなり短いから直せるかも。
武田ソフト
2007/09/30
福神漬さん、
表示のさせ方、元記事に追記しました。ご参考までに。
http://blog.takeda-soft.jp/blog/show/157
xibbar
2007/10/03
お、ありがとうございます。

コメントしてください
お名前:
入力しなければ「匿名さん」。20字以内。

メール:
入力しても表示しません

URL:
入力すればリンクが貼れます


コメント: