質問: RDBを設計する際にまずテーブルをいくつか作成して、それらどうしをリレーションしていきますよね。このテーブルをいくつか作成する意味がよくわかっていません。この項目は必ず一つのテーブルで持っておいた方が言いと言いきれる、なにか定義みたいなものはないのでしょうか?DBの知っている人に聞くと経験でわかると言われます。経験のない者はどうしたらいいのでしょう?
回答: RDBの設計に関しては、それだけで本がかけてしまうくらいの(実際に売られている)量なので、私が教育された時に説明された時の記憶で、説明します。 最初、関係すると思われるデータを横一列に並べてみて、そこにデータを入れてみる。そうすると、縦に見て、同じ内容のデータが続く所があった場合には、その項目は別テーブルにして、リレーションをはるのがベターである。 また、別テーブルにしたフィールドに関し性質を書いてみる。その性質毎にまとめてみる、性質が似ている物が、テーブルを同じく出来るようなら、同じテーブルとして作ってみる。 って事を、繰り返して最適化を行えば、良い設計に近づく事が出来ると教わりました。 結局、最後に必要なのは、どれだけ設計を行って、どれだけ最適化を行ったかの経験だけですけどね(^^; 人が設計した物でも、なんでそう考えるのかを考えるだけでも、十分な勉強にはなると思いますよぉ