経営情報システム表の重複と更新時の不整合を防ぐ考え方
データベースの正規化とは、データの重複を抑え、追加・更新・削除に伴う不整合を防ぐために、関係表を適切な単位へ分割する設計手法です。判断の軸は関数従属性であり、「ある属性の値が決まると別の属性の値が一意に決まる」という関係を確認します。分割後も、結合によって元の情報を復元できることが重要です。
第1正規形では、繰り返し項目をなくし、各セルを単一の値にします。第2正規形では、第1正規形を満たしたうえで、複合主キーの一部だけに依存する非キー属性、すなわち部分関数従属を分離します。第3正規形では、第2正規形を満たしたうえで、非キー属性を介して別の非キー属性が決まる推移的関数従属を分離します。
試験では、主キー候補を特定し、「どの属性が何に依存するか」を矢印で整理すると解きやすくなります。例えば受注明細の複合主キーが受注番号と商品番号で、商品名が商品番号だけで決まるなら第2正規形への分割対象です。正規化は参照整合性や主キー・外部キーと組み合わせて問われるほか、性能向上のため意図的に重複を持たせる非正規化との違いも押さえます。
受注明細表の主キーは「受注番号」と「商品番号」の組であり、属性として受注日、商品名、数量を持つ。受注日は受注番号だけで決まり、商品名は商品番号だけで決まり、数量は両方の組で決まる。この表について最も適切な記述はどれか。
経営情報システムの過去問を年度別に解説付きで演習。触って学ぶ体感型解説、忘却曲線ベースの復習計画も無料で始められます。
診断士RoadMapを無料で始める