IPA過去問ドリル

平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問8

テクノロジ/データベース

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

出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問8

正解:イ

解説

属性がn個ある関係に対する射影とは,その関係が持つn個の属性の中から,ある部分集合を選んで取り出す操作である。属性を全く含まない射影(空集合)や,元の関係と同じ結果となる射影(全属性を選ぶ場合)も含めるということは,n個の属性から作られる全ての部分集合(空集合から全体集合まで)の数を数えることに等しい。n個の要素から成る集合の部分集合の総数は2ⁿ通りであるため,異なる射影の数は2ⁿとなる。

選択肢ごとの解説

  • 誤り。2nは,n個の属性それぞれを2倍しただけの数であり,部分集合の総数を表す式ではない。
  • 正しい。n個の属性から作られる部分集合(射影として選べる属性の組合せ)の総数は2ⁿ通りであり,これが異なる射影の個数となる。
  • 誤り。log₂ nは,2を底とする対数であり,部分集合の個数を求める式としては小さすぎ,誤りである。
  • 誤り。nは属性の個数そのものであり,属性を1個ずつ選ぶ射影の数(n通り)に相当するにすぎず,全ての部分集合を数えたものではない。
データベーススペシャリストの過去問を演習モードで解く