基本情報技術者試験「関数従属」の問題
主キーが{社員番号,資格コード}である表で、属性『社員名』が社員番号だけで一意に定まる。この状態を表す用語はどれか。
アキーの一部に従属する部分関数従属
イ推移的関数従属の状態
ウ完全関数従属である状態
エ多値従属(複数値が独立に従属する状態)
正解
ア.キーの一部に従属する部分関数従属
社員名は複合主キー全体ではなく構成要素の社員番号だけで一意に定まる。主キーの一部にのみ従属するこの状態を部分関数従属と呼ぶため正しい。
?選択肢ごとの解説
ア ○社員名は複合主キー全体ではなく構成要素の社員番号だけで一意に定まる。主キーの一部にのみ従属するこの状態を部分関数従属と呼ぶため正しい。
イ ×推移的関数従属は非キー属性が別の非キー属性を経由して主キーに従属する状態であり、主キーの一部への直接従属とは異なる。
ウ ×完全関数従属は主キー全体が揃って初めて値が定まる状態であり、一部だけで定まる本問とは逆である。
エ ×多値従属は1つのキーに対し独立した複数の値集合が対応する状態であり、本問の単一値への従属とは別概念である。
✎くわしく
関数従属はXが決まればYが一意に定まる関係をX→Yと書く。複合キーの一部だけで決まれば部分関数従属、全体が揃って初めて決まれば完全関数従属である。部分関数従属の排除が第2正規形の目的であり、本問の社員名は社員表へ分離すべき対象となる。
✓本番での押さえどころ
試験のコツ
決定項を確認する。決定項が『主キーの一部』なら部分、『非キー属性』なら推移、『主キー全体』なら完全と判定する。
覚え方
部分関数従属は『複合キーの半分だけで答えが出る』状態。鍵を半分しか使っていない、と覚える。
よくある誤り
部分関数従属(キーの一部)と推移的関数従属(非キー経由)を混同する誤りが多い。決定項が主キーの一部か非キーかで区別する。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0051