ホーム > データベーススペシャリスト試験 > 2014年
データベーススペシャリスト試験 2014年 午前2 問08
属性が個ある関係の異なる射影は幾つあるか。ここで, 射影の個数には、元の関係と同じ結果となる射影, 及び属性を全く含まない射影を含めるものとする。
ア:
イ:(正解)
ウ:
エ:
解説
属性がn個ある関係の異なる射影は幾つあるか【午前2 解説】
要点まとめ
- 結論:属性が個ある関係の異なる射影の個数は通りです。
- 根拠:射影は属性の部分集合を選ぶ操作であり、属性の選び方は部分集合の数に等しいためです。
- 差がつくポイント:空集合(属性を全く含まない射影)や元の関係と同じ射影も含める点を理解しているかが重要です。
正解の理由
射影とは、関係の属性の一部または全部を選択して新しい関係を作る操作です。属性が個ある場合、選べる属性の組み合わせは部分集合の数に相当します。部分集合の数はであり、空集合も含まれます。問題文で「元の関係と同じ結果となる射影」や「属性を全く含まない射影」も含めると明示されているため、正解は、すなわちイとなります。
よくある誤解
射影の個数を属性の数やと誤解しがちですが、これは属性の選び方の組み合わせ数を考慮していないためです。空集合の射影も含む点を見落とすことも多いです。
解法ステップ
- 射影は属性の部分集合を選ぶ操作であることを理解する。
- 属性が個あるとき、選べる部分集合の数はであることを思い出す。
- 問題文で空集合や全属性を含む射影も含めると明示されていることを確認する。
- よって、異なる射影の個数はであると結論付ける。
選択肢別の誤答解説
- ア:
属性の数に2をかけただけで、部分集合の数とは異なります。組み合わせの考え方が不足しています。 - イ:
正解。属性の部分集合の数として正しい値です。 - ウ:
対数は属性の数の増加に対して射影の数を表せません。射影は指数的に増えます。 - エ:
属性の数そのものを射影の数と誤解しています。部分集合の数を考慮していません。
補足コラム
射影はリレーショナルデータベースの基本操作の一つで、特定の属性だけを抽出する際に使われます。属性の部分集合の数はであり、これは集合論の基本的な性質です。空集合の射影は通常は意味を持ちませんが、問題文で含めると指定されているため注意が必要です。
FAQ
Q: 射影で空集合を選ぶ意味はありますか?
A: 通常は意味がありませんが、問題文で含めると指定されている場合は計算上の部分集合としてカウントします。
A: 通常は意味がありませんが、問題文で含めると指定されている場合は計算上の部分集合としてカウントします。
Q: 射影と選択の違いは何ですか?
A: 射影は属性の列を選ぶ操作、選択は行(タプル)を条件で絞る操作です。
A: 射影は属性の列を選ぶ操作、選択は行(タプル)を条件で絞る操作です。
関連キーワード: 射影, 部分集合, リレーショナルデータベース, 属性数, 組み合わせ数