データベース
非正規形から第3正規形(3NF)へ正規化する手順として正しいものはどれか。
ア.①繰り返し項目を排除して1NF→②主キーへの部分関数従属を解消して2NF→③推移的関数従属を解消して3NF正解
イ.①推移的関数従属を解消して1NF→②部分関数従属を解消して2NF→③繰り返し項目を排除して3NF
ウ.①主キーを設定して1NF→②外部キーを設定して2NF→③インデックスを設定して3NF
エ.①重複行を削除して1NF→②NULL値を排除して2NF→③冗長な列を削除して3NF
解説
正規化は「片付けの3ステップ」。まず「引き出し1つに複数のものを詰め込む(繰り返し)」を解消(1NF)。次に「ハーフサイズのキーだけで決まる情報」を別の引き出しに分ける(2NF)。最後に「キー以外の項目が別の非キー項目を決める連鎖」を切り離す(3NF)。
なぜ ア が正解か
正規化の標準的な手順: ①1NF化: 繰り返しグループ(配列・複数値)を排除し、すべての属性が原子値になるよう分解。②2NF化: 複合主キーに対する部分関数従属(主キーの一部のみに依存する非キー属性)を別テーブルに分離。③3NF化: 非キー属性から別の非キー属性への推移的関数従属(A→B→C のような連鎖依存)を別テーブルに分離。各ステップで情報損失なくテーブルを分解(無損失分解)することが重要。
出典: AI生成問題(学習用)