戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2016年 春期 午前2 問27


問題文

関数従属を次のように表記するとき、属性a〜eで構成される関係を第3正規形にしたものはどれか。
応用情報技術者 2016年 春期 午前2 問27の問題画像応用情報技術者 2016年 春期 午前2 問27の選択肢の画像

選択肢

ア:
イ:
ウ:
エ:(正解)

🔒 解説は解答すると表示されます

関数従属図からの第3正規形【午前2解説】

正解の理由

図から読み取れる関数従属は、a→b、a→c、a→d、b→c、{b, d}→e の五つです。a→c は a→b と b→c から導ける推移的関数従属なので、関係を (a, b, d)、(b, c)、(b, d, e) に分解すると、どの関係にも部分関数従属と推移的関数従属がなくなり、第3正規形になります。この分解はエです。

解法ステップ

  1. 図の矢印を読み取る。
    • 上側の3本:a→b、a→c、a→d
    • 下側の短い線:b→c
    • 下側の長い線:b と d から出た線がまとまって e を指す → {b, d}→e
  2. 元の関係の主キーを求める。a から b、c、d が決まり、b と d から e が決まるので、a だけで全ての属性が決まる。主キーは a。
  3. 推移的関数従属を取り除く。
    • a→b→c:c は a に推移的に従属する → (b, c) に分ける。
    • a→{b, d}→e:e は a に推移的に従属する → (b, d, e) に分ける。
    • 残りは (a, b, d)。
  4. 分解後の各関係を確認する。
    • (a, b, d):主キー a。a→b、a→d だけ。
    • (b, c):主キー b。b→c だけ。
    • (b, d, e):主キー {b, d}。{b, d}→e だけ(b だけ、d だけでは e は決まらない)。 いずれも第3正規形です。

選択肢別の誤答解説

  • ア:(a, b, c, d) には a→b→c という推移的関数従属が残っているので、第3正規形ではありません。
  • イ:(b, c) を分けていますが、(a, b, c, d) に c が残っているので、推移的関数従属 a→b→c が解消されていません。
  • ウ:(b, d, c, e) の主キーは {b, d} ですが、c は主キーの一部である b だけで決まる(部分関数従属)ので、第2正規形にもなっていません。
  • エ:(a, b, d)、(b, c)、(b, d, e) はいずれも第3正規形で、元の関数従属も全て保たれています。

よくある誤解

  • 図の下側の線を「b→c」と「b→e」の二本と読むこと。e への線は b と d の両方から出てまとまっているので、{b, d}→e(b と d の二つの値で e が決まる)です。凡例の(2)と同じ書き方です。
  • 推移的関数従属を残したまま、主キーが一つあればよいと考えること。第3正規形では、非キー属性が主キーに推移的に従属してはいけません。

補足コラム

  • 第2正規形:非キー属性が、主キー全体に完全関数従属している(主キーの一部だけに従属していない)。
  • 第3正規形:第2正規形で、かつ非キー属性が主キーに推移的に関数従属していない。
正規化では、推移的・部分的な従属の「決定する側」と「決定される側」を別の関係に切り出し、決定する側の属性を元の関係にも残します。

FAQ

Q. 分解した関係を結合すると、元の関係に戻りますか?
A. 戻ります。(a, b, d) と (b, c) は b で、さらに (b, d, e) とは {b, d} で結合でき、情報を失わずに元の関係を復元できます。

関連キーワード: 関数従属、第3正規形、推移的関数従属、部分関数従属、正規化
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について