平成26年度 春期 午前Ⅱ 問8
データ操作
属性がn個ある関係の異なる射影
属性が n 個ある関係の異なる射影は幾つあるか。ここで,射影の個数には,元の関係と同じ結果となる射影,及び属性を全く含まない射影を含めるものとする。
- ア2n
- イ2^n
- ウlog₂n
- エn
答えと解説を見る
✓ これが正解イ2^n
解説
各属性を含むか含まないかの2通りずつなので、射影は2^n個です。
射影は、関係の属性の中からいくつかを選んで取り出す演算です。異なる射影の数は、n 個の属性からどれを残すかという選び方の数に等しくなります。各属性について残すか残さないかの2通りがあり、これが n 個の属性それぞれで独立に決まるので、選び方は 2 × 2 × … × 2 = 2^n 通りです。設問は、全部の属性を残す射影と一つも残さない射影も数えるとしているので、そのまま 2^n 個です。例えば n = 3 なら、0個選ぶ1通り、1個選ぶ3通り、2個選ぶ3通り、3個選ぶ1通りで、合わせて 8 = 2^3 個になります。射影の数は、属性の集合の部分集合の数と同じだと考えると求められます。
ほかの選択肢はなぜ違うのか
- ア2n:2n は、属性の数を2倍した値です。n = 3 で比べると、部分集合は8個あるのに 2n は6にしかならず、全ての選び方を数えきれていません。n = 1 と n = 2 のときだけ偶然一致します。
- ウlog₂n:log₂n は、2を何乗すれば n になるかを表す値で、選び方の数ではありません。n = 3 では1と2の間の値になり、射影の個数として整数にもなりません。
- エn:n は、属性を一つだけ選ぶ射影の数にあたります。二つ以上の属性を選ぶ射影や、全部を選ぶ射影、一つも選ばない射影が抜けているので、個数が足りません。
出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)