令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問9
テクノロジデータベース基礎理論SQL・関係代数数値表現・論理演算・符号理論
属性が 個ある関係の異なる射影は幾つあるか。ここで,射影の個数には,元の関係と同じ結果となる射影,及び属性を全く含まない射影を含めるものとする。
解答・解説
正解: エ.
関係データベースにおいて、関係(リレーション)は複数の属性(アトリビュート)を持ちます。
射影(プロジェクション)とは、元の関係から指定した一部の属性のみを取り出し、新しい関係を作る演算です。
属性が 個ある関係から異なる射影を作ることは、これら 個の属性の「部分集合」を一つ選ぶことと同値です。
各属性について「射影に含める」「含めない」の2通りが独立に存在するため、部分集合の総数は 個となります。
問題文には「元の関係と同じ結果となる射影(全ての属性を選ぶ)」「属性を全く含まない射影(どの属性も選ばない)」を含めるとあるため、制約なくすべての部分集合の数を考えればよく、その数は となります。
よって、正解は エ です。
各選択肢の解説
- ア :誤り。二分探索の計算量などに現れる式であり、部分集合の数ではありません。
- イ :誤り。これは属性をちょうど1つだけ選ぶ射影の数に相当します。
- ウ :誤り。各属性について2通りの選択肢があるため、足し合わせるのではなく掛け合わせる()のが正しい組み合わせの求め方です。
- エ :正解。 個の属性の部分集合の総数に一致します。