過去問解きまくり研究所 ホーム

平成29年度 春期 午前 問25

データベース

関数従属に関する問題

属性 a の値が決まれば属性 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるということの表現は,社員番号 → 社員名である。この表記法に基づいて,図の関係が成立している属性 a〜j を,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。

図(矢印の図):

a → b / a → c / a → d / a → e
b → f / b → g / b → h
e → i / e → j
答えと解説を見る

✓ これが正解イテーブル1 (a, b, c, d, e) / テーブル2 (b, f, g, h) / テーブル3 (e, i, j)

解説

矢印の出どころは三つ。そこを境にして表を切り分けます。

矢印は、左の属性が決まれば右の属性が一つに定まることを表します。この関係を関数従属と呼び、表を切り分ける手掛かりになりました。矢印の出どころを数えると、三つあります。aから出るもの、bから出るもの、eから出るものです。だから表も三つに分かれると見当がつきます。aからはb・c・d・eが定まるので、この五つで一つの表を作ります。bからはf・g・hが定まるので、bを添えた四つで別の表にしました。eからはi・jが定まるので、eを添えた三つでもう一つの表です。切り離した先には、出どころの属性を残す必要があります。aだけを一つの表に置く組は、残りの分け方が矢印と合いません。bやeを本体の表から抜いた組も、結び直す手掛かりを失います。矢印の本数ではなく、出どころの数で切るのが勘所でした。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成29年度 春期 基本情報技術者試験 午前 問25

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)