ホーム > データベーススペシャリスト試験 > 2019年

データベーススペシャリスト試験 2019年 午前213


属性がnn個ある関係の異なる射影は幾つあるか。ここで, 射影の個数には, 元の関係と同じ結果となる射影, 及び属性を全く含まない射影を含めるものとする。
2n2n
2n2^n(正解)
log2n\log_2 n
nn

解説

射影の個数についての解説

問題:
属性がnn個ある関係の異なる射影は幾つあるか。
ここで、射影の個数には以下を含むものとする。
  • 元の関係と同じ結果となる射影(すべての属性を含む射影)
  • 属性を全く含まない射影(空集合の射影)

射影の意味

データベースにおける**射影(Projection)**とは、関係(テーブル)から特定の属性(カラム)だけを選択する操作です。
例えば、属性が {A,B,C}\{A, B, C\} の関係表があるとき、
  • 属性 {A,B}\{A, B\} で射影すると、AABB の列だけを持つ表が得られます。
  • すべての属性 {A,B,C}\{A, B, C\} を含む射影は元の表そのものです。
  • 属性を全く含まない射影(空集合)も考えると、これは属性なしの「空の行」を持つリレーションを想定します。

射影の種類数

射影は、nn個の属性から「どの属性を含めるか」を選ぶ操作です。つまり、
  • 属性の部分集合として考えられます。
  • どの属性を選んでも良く、選ばないことも可能です。
したがって、射影は属性の部分集合の数に対応します。

部分集合の個数

属性が nn 個ある集合の部分集合の総数は、
2n2^n
で表されます。これは各属性について「含める/含めない」の2通りがあり、それが nn 個あるため、2n2^n 通りになるからです。

選択肢との照合

  • ア: 2n2n — 属性数に比例するもので、射影の数としては小さすぎます。
  • イ: 2n2^n — 前述の通り、正しい射影の個数です。
  • ウ: log2n\log_2 n — 対数で、個数を表すには明らかに小さすぎます。
  • エ: nn — 属性数だけでは検討できません。

まとめ

属性が nn 個ある関係の異なる射影の数は、
2n\boxed{2^n}
です。
これには元の関係(全属性を含む射影)および属性を全く含まない射影も含まれます。

以上より、**正解は「イ: 2n2^n」**となります。
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ