データベース

基本情報技術者試験関数従属」の問題

テクノロジ系データベース難易度:normal
主キーが{社員番号,資格コード}である表で、属性『社員名』が社員番号だけで一意に定まる。この状態を表す用語はどれか。
キーの一部に従属する部分関数従属
推移的関数従属の状態
完全関数従属である状態
多値従属(複数値が独立に従属する状態)
正解
キーの一部に従属する部分関数従属

社員名は複合主キー全体ではなく構成要素の社員番号だけで一意に定まる。主キーの一部にのみ従属するこの状態を部分関数従属と呼ぶため正しい。

?選択肢ごとの解説

ア ○社員名は複合主キー全体ではなく構成要素の社員番号だけで一意に定まる。主キーの一部にのみ従属するこの状態を部分関数従属と呼ぶため正しい。
イ ×推移的関数従属は非キー属性が別の非キー属性を経由して主キーに従属する状態であり、主キーの一部への直接従属とは異なる。
ウ ×完全関数従属は主キー全体が揃って初めて値が定まる状態であり、一部だけで定まる本問とは逆である。
エ ×多値従属は1つのキーに対し独立した複数の値集合が対応する状態であり、本問の単一値への従属とは別概念である。

くわしく

関数従属はXが決まればYが一意に定まる関係をX→Yと書く。複合キーの一部だけで決まれば部分関数従属、全体が揃って初めて決まれば完全関数従属である。部分関数従属の排除が第2正規形の目的であり、本問の社員名は社員表へ分離すべき対象となる。

本番での押さえどころ

試験のコツ

決定項を確認する。決定項が『主キーの一部』なら部分、『非キー属性』なら推移、『主キー全体』なら完全と判定する。

覚え方

部分関数従属は『複合キーの半分だけで答えが出る』状態。鍵を半分しか使っていない、と覚える。

よくある誤り

部分関数従属(キーの一部)と推移的関数従属(非キー経由)を混同する誤りが多い。決定項が主キーの一部か非キーかで区別する。

データベースの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0051

【基本情報技術者試験】関数従属の問題 — 解答・解説|ukamiru 過去問