令和5年度 データベーススペシャリスト 問1:関係代数の演算

Tech

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

令和5年度 データベーススペシャリスト 問1:関係代数の演算

本問は、関係代数の「自然結合」と「射影」における属性の変化を問う。結合時の重複属性の扱いと、射影後の次数(属性数)の把握が解法の鍵となる。

【問題】 関係 $R(A, B, C)$ と $S(C, D, E)$ がある。この二つの関係の自然結合 $R \bowtie S$ を求め、その結果から属性 $A, B, E$ を取り出したときの次数(属性の数)はいくつか。

ア 1 イ 2 ウ 3 エ 5

【解説】 関係代数における演算プロセスを以下のステップで解説する。

  1. 自然結合 ($R \bowtie S$) の定義 二つの関係に共通する属性(本問では属性 $C$)を結合キーとして結合する演算。自然結合では、共通属性は重複して保持されず、一つにまとめられる。 結合後の属性集合は以下の通りとなる。 $$ {A, B, C} \cup {C, D, E} = {A, B, C, D, E} $$ この時点での次数(属性数)は $5$ である。

  2. 射影 ($\pi_{A, B, E}$) の定義 指定された属性のみを抽出し、新しい関係を生成する演算。 結合結果の属性集合 ${A, B, C, D, E}$ から、指定された ${A, B, E}$ のみを抽出する。

  3. 次数の算出 射影された結果の関係に含まれる属性は $A, B, E$ の $3$ つである。したがって、最終的な次数は $3$ となる。

graph LR
    R["R: A, B, C"] --> J["自然結合"]
    S["S: C, D, E"] --> J
    J --> RS["R ⋈ S: A, B, C, D, E"]
    RS --> P["射影: A, B, E"]
    P --> Result["次数: 3"]

【選択肢の吟味】

選択肢 判定 解説
× 属性 $A, B, E$ の 3 つが抽出されるため、1 ではない。
× 属性 $A, B, E$ の 3 つが抽出されるため、2 ではない。
正解 射影によって指定された $A, B, E$ の合計 3 属性が残る。
× 自然結合直後の属性数($A, B, C, D, E$)であり、射影前の状態。

【ポイント】

  • 次数 (Degree):関係(テーブル)に含まれる属性(列)の数のこと。

  • 自然結合:共通属性をキーに結合し、重複する列を 1 つに集約する操作。

  • 射影:特定の列を抽出する操作。抽出後の属性数がそのまま次数となる。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました