楽々ERDレッスン
なんとなく仕事帰りに文教堂がまだあいていたのでふらっとよってみた。
私はテーブル設計にめちゃくちゃ時間がかかってしまうので悩んでいて、なんかお手本になるような実例がたくさん載っている本が欲しい、と思いだーっとながめていたらこの本のタイトルが目に飛び込んできた。
実例もそこそこあるようなので、目的の電車まであと数分だからぱっと買って領収書貰って本屋を飛び出した。
帰りの電車でぱらぱら気になるところを走り読み。
あ、IDの使用を推奨している。
なんか、嬉しい。
たとえば今日のこと、、じゃ、このコードとバージョン番号で一意なコード体系になりますよね?、、ユーザさん、「ん、そうそう、そうね」その後、コードとバージョン番号をプライマリにしてテーブル作っていざデータをいれてみようと、ばーっと4/5くらい呼んだところでバージョン番号がない製品コードがあることに気づく。あちゃー、だめじゃん。それにソートしてみるとコードとバージョン番号だけでは一意ではないことに気づく、ちょっとふらふらしてもう一度担当さんとお話。
えっと、コードとバージョンじゃキーにならないみたいなんですが、どういう体系でしょうか??「あーー、だから最初の頃に言ったじゃん、必ずメモフィールド作って、って」、え?確かに言ってたけど今はコードの話ですよ、「どうしようもできないときはメモして見分けてるのよ」、かく、あー、まあなるほど。
てなこと、結構ありますよね?で、結局枝番(データ的には意味のない!)をふったり、IDを使ったりして設計し罪悪感にかられる。「あーー、RDBの神様、私は今日も罪を犯しました」懺悔の日々。
僕はチームプレイができるような大きな仕事はなかなかできないからだれも「ビジネスロジックだからしょうがないよ」とは言ってはくれない。
そんな罪悪感にさい悩まされている人はぜひ読みましょう。業務視点からの設計の大切さを説いているDBの本にしては珍しい著書です。
(なぜそれ程に罪悪感を感じるかというとDBの教科書ではそうは教えてくれないからです、仕方がないからビジネスロジックに沿いましょう、というのが通常)
「偉い人だな、だれが書いたんだろう?」と著者名をみたら「羽生章洋」さん。あー羽生さんだ。
Enhydraというアプリケーションサーバの講習会で一度直接お会いしたことがあるんです。妙に嬉しくなりました。当時のEnhydraの講習会ではFlashを前面に置いたWebアプリケーションを紹介していて強烈に印象が残っている。たしか当時はエアの羽生さんだった。
あれ?ずいぶん脱線したけど久しぶりにPC本を読んでいてわくわくしました。まだすみからすみまで読んでいないけど間違いなくお勧め本だと思います。