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

平成29年度春期 データベーススペシャリスト 午前Ⅱ 問13

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

問題

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

選択肢

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

射影結果を見極めるための視点

選択肢を読むときは、操作によって結果のどの性質が変わるのかに注目し、対象の組合せや表し方を混同せず、問題文に示された条件と同じ観点で、一つずつ落ち着いて照合していきましょう。

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

この問題では、結果を見たときに何が残り、何が結果の分類や見え方に影響しているのかという一点に絞って、各選択肢の説明が同じ条件を指しているかを丁寧に確認してください。

視点

射影を考える際は、操作後の結果を単独で暗記するのではなく、入力との関係、結果に現れる要素、同じ結果として扱う条件を分けて整理します。選択肢の文言そのものではなく、問われている分類軸と説明の対応関係を確認することが大切です。

確認ポイント

  • 分類の基準が、問題文の問いたい観点と一致しているか確認する
  • 操作前後で結果のどの性質に変化があるかを整理する
  • 各選択肢の説明が同じ条件を前提としているか確認する
正解と解説を見る

正解

イ

解説

属性がn個あるとき、各属性を射影に含めるかどうかを選択できる。各属性に2通りの選択肢があるため、異なる射影の数は2をn回掛けた2ⁿ通りとなる。空集合に対応する射影と全属性を含む射影も数に含まれる。

理由

射影は、元の関係からどの属性を残すかによって決まる。属性1個ごとに含めるか含めないかの2通りがあり、n個の属性についての組合せ数は、式として2×2×…×2(n回)=2ⁿ通りとなる。属性を全く含まない場合と全属性を含む場合も、問題文の条件により数に含める。

比較

したがって正答はイです。2nはnの2倍を表し、属性ごとの選択の組合せ数ではありません。log₂nはnに応じて増加する値だが、二者択一をn個組み合わせた数を表さない。nも属性数そのものにとどまり、選択によって生じる複数の組合せを数えていない。

選択肢ア

これは不正解だよ。2nは、nに2を掛けた値を表すため、属性ごとに含めるか含めないかを選んだ全ての組合せ数とは一致しない。問題は属性数の単純な倍数ではなく、各属性の選択を組み合わせた射影の種類を求めている。

選択肢イ(正解)

これは正解だよ。n個の属性それぞれについて、射影に含めるか含めないかの2通りを選べるので、組合せ数は2×2×…×2(n回)=2ⁿ通りとなる。問題文が指定する空の射影と全属性の射影も、この数え上げに含まれている。

選択肢ウ

これは不正解だよ。log₂nはnの増加に伴って増加する値ではあるが、属性ごとの二者択一をn個組み合わせた総数を表す式ではない。求めるのは対数で変換した値ではなく、各属性の選択から生じる射影の種類の数である。

選択肢エ

これは不正解だよ。nは属性の個数そのものであり、各属性を含めるか含めないかによる組合せを数えていない。射影には属性を一部だけ含む場合や全く含まない場合、全て含む場合もあり、属性数と同じn通りには限定されない。

学習のポイント

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

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

関連する過去問一覧

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