基本情報技術者試験「多値従属」の問題
1人の社員が複数の『資格』と複数の『使用言語』を持ち、資格と言語が互いに独立であるとき、これらを社員番号とともに1つの表にまとめると組合せの行が冗長に増える。この冗長を除く正規化と関係する従属はどれか。
ア独立した複数値属性間の多値従属を排除する第4正規形に関係する
イ部分関数従属を排除する第2正規形に関係する
ウ推移的関数従属を排除する第3正規形に関係する
エ繰返し項目を排除する第1正規形に関係する
正解
ア.独立した複数値属性間の多値従属を排除する第4正規形に関係する
資格と言語が社員番号に対し互いに独立に複数値をとる関係は多値従属である。両者を同一表に置くと組合せ行が冗長に増え、これを分離して除くのが第4正規形なので正しい。
?選択肢ごとの解説
ア ○資格と言語が社員番号に対し互いに独立に複数値をとる関係は多値従属である。両者を同一表に置くと組合せ行が冗長に増え、これを分離して除くのが第4正規形なので正しい。
イ ×部分関数従属は複合主キーの一部に非キー属性が従属する関数従属の問題で、独立な複数値の組合せ爆発を扱う多値従属とは性質が異なる。
ウ ×推移的関数従属は非キー属性が他の非キー属性経由で従属する関数従属の問題で、互いに独立な複数値属性の冗長とは原因が異なる。
エ ×第1正規形は1欄を単一値にする段階で、独立な複数値属性を別表へ分離して組合せ爆発を防ぐ第4正規形の議論とは段階が異なる。
✎くわしく
多値従属は『ある属性が他から独立に複数値をとる』関係で、関数従属(1つに定まる)とは異なる。独立な多値属性を1表に同居させると無関係な組合せ行が直積的に増える。第4正規形はこれを別表に分けて解消する。
✓本番での押さえどころ
試験のコツ
『独立に複数値をとる属性が同居して組合せが膨らむ』というキーワードを見たら多値従属・第4正規形と判定する。
覚え方
多値従属は『独立な二系統の複数値が掛け算で増える』、それを断つのが4NF、と組合せ爆発で覚える。
よくある誤り
多値従属を関数従属の一種と混同し、2NFや3NFの問題と取り違える誤りが多い。独立な複数値の組合せ爆発が鍵である。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0237