データベース正規化

第1〜第3正規形、部分関数従属、推移的関数従属を4択で10問ずつ練習できます。
学習状況

まだ履歴がありません。

データベース正規化について

第1・第2・第3正規形など、データの重複を整理する考え方を問題演習で確認できます。

詳しい解説を見る →

正規化の復習

第1正規形は繰り返し項目をなくし、第2正規形は部分関数従属をなくし、第3正規形は推移的関数従属をなくします。

詳しい解説を読む →

データベース正規化の学習ガイド

この演習は、知識を確認するだけでなく、解き方を説明できるようになることを目標にしています。まず以下の例題を確認し、その後で上のトレーニングに挑戦してください。

解き方の例:注文表に顧客住所が繰り返し保存されている場合

注文ID・顧客ID・商品IDなどの注文情報と、顧客ID・住所などの顧客情報を分離すると、住所変更時の更新漏れを防ぎやすくなります。

学習の進め方

主キーと関数従属性を確認し、重複や更新時の不整合が起きる列を探します。

間違えやすいポイント

単に表を小さく分割するだけでは正規化になりません。

詳しい解説記事を読む → 学習ロードマップへ →

更新時の不整合を防ぐ:例題と復習

問題を解く前に例題を読み、計算や判断の根拠を自分の言葉で説明してみましょう。

例題:注文表に「注文ID・顧客ID・顧客住所」を毎回保存すると?

同じ顧客の住所が複数行に重複します。住所変更時に一部だけ更新すると不整合が生じるため、顧客表に分けて顧客IDで関連付けます。

つまずきやすいポイント

分割すること自体が目的ではありません。属性が何に依存するかを確認します。

実際のIT業務では?

顧客マスタと注文データを分ける設計はECや販売管理システムで一般的です。

理解度チェック

注文ごとに顧客住所を複製すると起きやすい問題は?(答えを見る)

更新漏れによるデータ不整合。

復習したい場合は 詳しい解説記事 を読み、上の演習問題にもう一度挑戦してください。