IT資格用語解説基本情報技術者試験・データの正規化
完全関数従属
更新日:
用語解説
完全関数従属は、属性集合Xから属性Yが関数従属X→Yし、かつXのどの真部分集合からもYが関数従属しない関係です。Yの値を決めるためにXの全属性が必要であり、複合キーをもつ表の第2正規形を判定する中心概念です。
■ 試験で押さえるポイント
関数従属X→Yとは、同じXの値をもつ二つの行では必ずYの値も同じになることです。単なる相関や、たまたま現在のデータが重複していないことではなく、業務規則として常に成立する依存関係を見ます。
X=(A,B)なら、(A,B)→Yに加えてA→YもB→Yも成立しないとき完全関数従属です。A又はBだけでYが決まれば部分関数従属であり、完全とはいえません。
候補キーが一属性だけなら、そのキーに従属する非キー属性は部分関数従属になりません。部分従属の有無を調べる必要があるのは、複合候補キーを含む表です。
第2正規形は、第1正規形で、全ての非キー属性が全ての候補キーに完全関数従属する状態です。主キーだけでなく候補キー全体を対象に判定します。
■ 選択肢での判断ポイント
まず複合候補キーを特定し、その一部だけで非キー属性が決まらないかを一属性ずつ外して調べます。キー全体で初めて決まる属性なら完全関数従属、キーの一部で決まれば部分関数従属です。
例: 履修表の候補キーを(学生番号, 科目番号)とすると、成績はこの組合せで決まり、学生番号だけでも科目番号だけでも決まりません。したがって(学生番号, 科目番号)→成績は完全関数従属です。