DB なんて触る前にファイル I/O をしゃぶりつくせ
いつもどおりあくまで私流ですが……。
あなたがもし、今よりももっとよい RDBMS のテーブル設計をしたいと思っているならば、まずは、単純なファイルだけのシステム作りまくることをおすすめします。
そうですね……。DB を使わずにショッピングサイトでも作ってみてはどうでしょうか?
それではボリュームがありすぎるという場合は掲示板みたいなものでもいいですね。
つまり何がいいたいかといいますと、DB というのはデータ永続化の仕組みのひとつであって、アプリケーションにとっては DB ありきなんてことはあってはならないということです。
社外のさまざまなプロジェクトにヘルプに行って思うのは、DB にふりまわされるという印象です。
テーブルの構造が純粋じゃないんですね。まずは、データの永続化に徹し、DB の仕組み上どうしても必要だとなってから初めて業務に対しては本質的ではない項目を入れることを考慮する。そうあるべきだと思います。
というか、普通に DB 設計していればそうなると思うんだけどなぁ……。