お、いきなりちゃんとしたレスがきた。幸先いいなw
>>2-3 なんていうかデータベースの話というよりアプリ開発の話なんだよね。
O/Rマッパーの話というか。説明が難しいな。スレタイよくなかったかも。
最終的な目標としてはアプリ開発する時に小さくモジュール化したいって話なんだよ。
例えばこれはWordPressのER図
http://wpdocs.osdn.jp/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E6%A7%8B%E9%80%A0 これは簡単な例だけど、この線の通りにO/Rマッパーを定義すると
wp_optionsを除いて、全てが一つに固まってしまう。
でもモジュール化の考えからすると、
例えばwp_usersとwp_potstsって分けたくならない?
知ってると思うけど最近のフレームワークではO/Rマッパーの定義からSQLを自動生成する機能がある。
つまりモデルの定義がそのままSQLになるので、逆に見ればER図に書かれているものを
生成するためにモデルを書くことになる。そこに外部キーの定義も行う。
そうすることで簡単に関連モデルのデータを取得することができる。
で、ER図(全体がほぼ一つの塊なる)の通りにモデルを実装すると
モデル同士が結びついてモジュール化できなくなってしまう。
データベースの定義自体は正規化をするかしないかは、それほど関係ないと思ってる。
しなくてもどちらにしろテーブル自体に関連(リレーション)はあると思うから。
関連するデータ(テーブル)同士の関連をアプリ開発上は切断してモジュール化して実装し、
手動でつなげるという考え方があるのだろうか?という話