SAシステムアーキテクト試験 午前Ⅱ

令和元年度秋期 システムアーキテクト 午前Ⅱ 問21

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

関数従属 {A,B} → Cが完全関数従属性を満たすための条件はどれか。

選択肢

  1. ア
    {A,B} → B又は{A,B} → Aが成立していること
  2. イ
    A → B → C又はB → A → Cが成立していること
  3. ウ
    A → C及びB → Cのいずれも成立しないこと
  4. エ
    C → {A,B}が成立しないこと
解き方のヒントを見る

関係の整理軸を丁寧に確認する

この分野では、属性どうしの依存関係を手掛かりに、与えられた定義と条件がどの範囲で成り立つかを順に整理します。用語の印象だけで判断せず、対象と前提の対応を確認しましょう。

この問題で問われていること

注目する点は、問題中で示された依存関係が、どの属性や条件を前提として述べられているかです。関係の向きと対象範囲を読み取り、定義との対応だけを丁寧に確認してください。

視点

判断を急がず、記号や用語を対象・条件・関係に分けて読みます。そのうえで、設問が求める整理の単位と、各記述が示す範囲が一致しているかを照合します。

確認ポイント

  • 依存関係を述べている属性の組合せと、前提になっている属性を区別できているか
  • その関係が全体の条件なのか、特定の条件下だけの記述なのかを確認する
  • 読み取った関係を、設問で問われている定義や整理の単位と照合する
正解と解説を見る

正解

ウ

解説

完全関数従属性とは、複合属性の左辺全体が右辺を決定する一方で、左辺のどの一部を取り出しても右辺を決定できない関係をいう。

理由

{A,B} → Cが完全関数従属性を満たすには、AとBを組み合わせた全体ではCが決まり、Aだけ、またはBだけではCが決まらない必要がある。

比較

左辺に含まれる属性を右辺へ写す自明な従属性や、逆向きの従属性は、Cが左辺の一部から決まるかという判定とは異なる。

選択肢ア

これは不正解だよ。{A,B} → Bや{A,B} → Aは、左辺に含まれる属性を右辺に取り出す自明な関数従属性であり、通常成立する。完全関数従属性を判定するには、CがAまたはBだけから決まるかを確認する必要があるため、この条件では判定できない。

選択肢イ

これは不正解だよ。A → B → Cが成立すると、推移律によりA → Cが導かれる。同様にB → A → CならB → Cが導かれる。いずれも左辺の一属性だけでCを決められることを示すため、複合属性全体を必要とする完全関数従属性の条件とは反対である。

選択肢ウ(正解)

これは正解だよ。完全関数従属性とは、{A,B}全体ではCを決められる一方、左辺の真部分集合だけではCを決められない状態である。真部分集合に当たるA、BのどちらからもCが決まらないという条件が、複合属性全体への依存を表している。

選択肢エ

これは不正解だよ。C → {A,B}は、右辺のCから左辺の属性AとBを決める逆向きの関数従属性である。完全関数従属性の判定対象は{A,B} → Cにおいて左辺の一部を削れるかどうかなので、この条件の成立・不成立だけでは判定できない。

学習のポイント

部分関数従属性と完全関数従属性の違いを、左辺の削除可能性から判断する。

出典:独立行政法人 情報処理推進機構(IPA)令和元年度秋期 システムアーキテクト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針