
3-10
さて、これで第5 正規形まで到達しました。みなさんが開発に携わるほとんどの
開発業務では、第 3 正規形まで到達できていれば、ほとんどカバーすることが可能
です。ここで正規化について重要なポイントをおさらいしておきましょう。
正規化を行なう目的は、何よりも更新(データ登録=INSERTも含む)時の不都
合を防ぐためのものです。また、データの冗長性を排除して、人間のオペレーショ
ンミスによるデータ不整合を防ぐ目的もあります。
正規化を行なうためには、テーブル内部の従属性の関係を見抜く必要がありま
す。部分関数従属(第2 正規形)、推移的関数従属(第3正規形)が存在していれば、
まず正規化の対象になります。また、多値従属性が存在していたら、自分が第4 正
規形に反する設計をしていないか注意しましょう。
ただし、こうした従属性はテーブルの形式だけ見ていてもわかりません。どの列
がどのキーに従属しているか、ということは業務ロジック(ビジネスルール)で決
まることなので、各列が業務上どのような意味と関係を持っているか、ということ
を調べなければなりません(業務分析の必要性)。
正規化によって分割されたテーブルは、いつでも非正規化テーブルに復元するこ
とができます。これは正規化が情報を完全に保存する ...