平成29年度 春期 午前Ⅱ 問13
データ操作
属性がn個ある関係の異なる射影
属性が n 個ある関係の異なる射影は幾つあるか。ここで,射影の個数には,元の関係と同じ結果となる射影,及び属性を全く含まない射影を含めるものとする。
- ア2n
- イ2^n
- ウlog_2 n
- エn
答えと解説を見る
✓ これが正解イ2^n
解説
n個の属性それぞれを入れるか入れないかの2通りで2^n個です。
射影は、関係から一部の属性を選んで取り出す演算です。見分ける軸は、属性の選び方が何通りあるかです。n個の属性それぞれについて、射影に含めるか含めないかの2通りを独立に決められます。そのため選び方は2をn回掛けた2^n通りになります。設問は、全属性を選んで元と同じになるものと、一つも選ばないものも数えると定めているので、この2^n通りをそのまま数えます。たとえば属性がA・B・Cの3個なら、何も選ばない、A、B、C、AとB、AとC、BとC、全部の8通りで、2^3=8と一致します。これは部分集合の個数を数える考え方で、要素ごとの二択を掛け合わせると覚えておくと確実です。
ほかの選択肢はなぜ違うのか
- ア2n:2nは、属性の数を2倍しただけの値です。属性が3個なら6となりますが、実際に数えると8通りあるので一致しません。選び方は掛け算で増えるので、足し算や倍では数えられません。
- ウlog_2 n:log_2 nは、nを2で何回割ると1になるかを表す値で、nが増えてもゆっくりしか増えません。属性3個で8通りある射影の数とはかけ離れており、この条件からは導けません。
- エn:nは、属性を一つだけ選ぶ射影の数です。設問は二つ以上の属性を選ぶ射影や、全く選ばない射影も数えるとしているので、それらを含めた数はnより大きくなります。
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)