物理と論理

といっても科学の話ではなく。

論理モデルを見せられて、こことこことここは設計として良くないと思いますと指摘すると、これは物理モデルでなくて論理モデルなのでという言い訳をされるのだが、そんなもんなのか。

私は上流工程の実情はほとんど知らないので何なのだが、おそらく私が実装者で設計者から論理モデルしか渡されなかったら、論理モデル通りに物理モデルを作ってしまう(というより論理モデルが仕様だと思ってしまう)と思うのだがどうだろう。

直感で適当に書くが、おそらく物理モデルと論理モデルは基本的に同じものにすべきだし(物理モデルになったらリレーションが変化するようでは、論理モデルの意味を果たさないわけだし)、SQL文を書くことを想定したモデルにしないと実装側の人間が泣く目に会うような気がする。

ただ、確かにドメインという視点で見ると、ひとつのデータが複数の役割を持っているということは良くあり、例えば仕入先=得意先=契約先=送付先などはそうだ。おそらくドメインという視点で見ると分離すべきなのだろう。だけれど、ユーザが情報を管理するといった開発・運用の視点から見ると、取引先マスタとして一元化したうえで、付加的な要素に関しては付加的な子テーブルに情報を持たせれば良いとなる(と、書くとわかりにくいが、仕入先、得意先などは取引先を継承していると考えるべきだということ)。

某はぶ先生のER本を読めば、ここら辺のことも解決されるのだろうか。