|
▼buti さん:
こんにちは。
ご質問の内容は「テーブルの正規化」という事ですね。
Web で検索すると色々出てきますので参照してみて下さい。
テーブルを設計する際には、関連づけられる項目ごとに
テーブルを分ける事が一般的です。
例えば会社の同僚の住所録テーブルを作成するとすると、
会社の情報(社員コード、部署、役職など)と
プライベートな情報(血液型、住所、電話番号など)は別テーブルになります。
会社で昇進や転属があった場合、部署、役職などの変更はあっても
血液型が変わる事はありませんよね?
1つのテーブルに全ての情報を持たせてしまうと、
その人の会社に関するデータを更新したくても
全てのデータを引っ張ってきてしまうので、
あまり効率的ではありません。
逆に「社員番号xxxxのデータを全て見たい」などの場合には
同じIDで結び付けられた社員をテーブル毎に参照しにいくので
この場合は1つの大きなテーブルがあった方が効率が良くなります。
一般的にですが、正規化を進めれば進めるほど
更新は早くなり検索に時間がかかると言われているようです。
適度(これが一番難しいですよね…)な所まで正規化を進めていきましょう。
|
|