基本情報技術者試験 基本情報技術者試験 平成29年度 春期 午前 午前 問25: 属性 a の値が決まれば属性 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるということの表現は,社員番号 →

基本情報技術者試験 平成29年度 春期 午前
Q 2525 / 80
属性 a の値が決まれば属性 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるということの表現は,社員番号 → 社員名である。この表記法に基づいて,図の関係が成立している属性 a〜j を,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。
関数従属関係図。a → {b, c, d, e}、b → {f, g, h}、e → {i, j}
この問の正解率:73.40%(1,530件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

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

選択肢

  • .テーブル1(a), テーブル2(b, c, d, e), テーブル3(f, g, h, i, j)
  • .テーブル1(a, b, c, d, e), テーブル2(b, f, g, h), テーブル3(e, i, j)
  • .テーブル1(a, b, f, g, h), テーブル2(c, d), テーブル3(e, i, j)
  • .テーブル1(a, c, d), テーブル2(b, f, g, h), テーブル3(e, i, j)

正解

. テーブル1(a, b, c, d, e), テーブル2(b, f, g, h), テーブル3(e, i, j)

解説

関数従属の正規化問題。a→{b,c,d,e}, b→{f,g,h}, e→{i,j}。3 つのテーブルで非冗長に表現するには、テーブル1=(a, b, c, d, e) — a 起点の従属を保持、テーブル2=(b, f, g, h) — b 起点、テーブル3=(e, i, j) — e 起点。イが正解。

選択肢ごとの解説

  • .テーブル1=(a) では a→b,c,d,e の従属を表現できない。
  • .テーブル1=(a,b,c,d,e), テーブル2=(b,f,g,h), テーブル3=(e,i,j) で全関数従属を保持。正解。
  • .テーブル分割が従属関係に従っておらず情報損失や冗長が生じる。
  • .テーブル1=(a,c,d) では b,e への従属が分断され情報損失。

基本情報技術者試験 平成29年度 春期 午前過去問一覧へ戻る・問25