DBデータベーススペシャリスト試験 午前Ⅱ

令和3年度秋期 データベーススペシャリスト 午前Ⅱ 問9

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

問題

属性がn個ある関係の異なる射影は幾つあるか。ここで,射影の個数には,元の関係と同じ結果となる射影,及び属性を全く含まない射影を含めるものとする。

選択肢

  1. ア
    log₂n
  2. イ
    n
  3. ウ
    2n
  4. エ
    2ⁿ
解き方のヒントを見る

数える単位をそろえて考える

用語の見た目だけで判断せず、設問が何を一つとして数えているのかを先に整理し、同じ数え方で全体を読み直すと、思い込みによる判断を避けやすくなります。

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

この問題では、名称の暗記よりも、設問が対象をどの単位で数えるよう求めているかを確認することに集中し、その単位を途中で変えずに読み進めましょう。

視点

概念を整理するときは、まず数える対象と単位を分けて書き出します。その後、設問の表現がどの単位を前提としているかを照合し、名称の印象だけで判断しないようにします。

確認ポイント

  • 設問が数えている対象と単位を確認しましたか。
  • 読み進める途中で数える単位を変えていませんか。
  • 名称の印象ではなく、設問の条件に沿って整理できていますか。
正解と解説を見る

正解

エ

解説

属性n個それぞれについて、射影結果に含めるか含めないかの2通りを選べる。全属性を含む場合や属性を全く含まない場合も数えるため、異なる射影の総数は2ⁿとなる。

理由

n個の属性は、それぞれ射影に含めるか含めないかを独立に選択できる。各属性に2通りの選択肢があるので、組合せの総数は2をn回掛け合わせた2ⁿです。全属性を含む場合は元の関係と同じ結果になり、属性を全く含まない場合も設問の条件により数えられる。

比較

log₂nやnは、属性ごとの二者択一を組み合わせた総数を表していない。2nも二者択一の積ではなく、属性数に単純に2を掛けた値です。この問題では、属性の選択を集合として数えるため、該当する表現は2ⁿになる。

選択肢ア

これは不正解だよ。log₂nは、2を何乗すればnになるかを表す対数であり、各属性を含めるか含めないかという二者択一をn個分組み合わせた個数ではない。したがって、設問の射影数を表す式としては条件と一致しない。

選択肢イ

これは不正解だよ。nは属性を一つずつ選ぶ場合の数に近い表現だが、射影では複数の属性を同時に含める指定も数える。全属性や属性を全く含まない指定も対象なので、属性数だけでは総数にならない。

選択肢ウ

これは不正解だよ。2nは属性数に2を掛けた値であり、各属性について二つの選択を組み合わせた結果ではない。射影対象は一つの属性だけに限られず、複数属性の組合せも含むため、この表現では数え上げが不足する。

選択肢エ(正解)

これは正解だよ。n個の属性それぞれに、射影へ含めるか含めないかの2通りがあるため、組合せの総数は2×2×…×2=2ⁿとなる。全属性を含む指定と属性を全く含まない指定も、この数え上げに含まれている。

学習のポイント

関係代数の射影を、属性集合の部分集合として数える考え方を学ぶ。

出典:独立行政法人 情報処理推進機構(IPA)令和3年度秋期 データベーススペシャリスト試験 午前Ⅱ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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