令和5年度 データベーススペシャリスト試験 午前Ⅱ 問1 リレーションの自然結合

Tech

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

令和5年度 データベーススペシャリスト試験 午前Ⅱ 問1 リレーションの自然結合

リレーションの自然結合における属性数の変化を問う問題です。共通属性が重複してカウントされない性質を理解することが解法の核心です。

関係 R(A, B, C) と S(B, C, D) がある。自然結合 $R \bowtie S$ を行った結果の属性数はいくつか。

ア 3 イ 4 ウ 5 エ 6

【解説】

関係代数における自然結合(Natural Join)とは、二つのリレーションに共通する属性(列名)の値が一致するタプルを結合し、かつ重複する属性を一つにまとめる演算です。

本問のリレーション R と S の属性集合は以下の通りです。

  • リレーション R の属性:${A, B, C}$

  • リレーション S の属性:${B, C, D}$

自然結合 $R \bowtie S$ では、共通の属性である ${B, C}$ を結合キーとして結合します。このとき、結合後のリレーションに含まれる属性は、両者の属性集合の和集合(Union)となります。

$$ {A, B, C} \cup {B, C, D} = {A, B, C, D} $$

重複している $B$ と $C$ は一つにまとめられるため、結果の属性数は 4 となります。

graph LR
    subgraph R
    A
    B1[B]
    C1[C]
    end
    subgraph S
    B2[B]
    C2[C]
    D
    end
    R --自然結合-- S
    B1 --- Joint("(B, C"))
    B2 --- Joint
    C1 --- Joint
    C2 --- Joint
    A --- Result
    Joint --- Result
    D --- Result
    subgraph Result_Set["結合結果"]
    Result["A, B, C, D"]
    end

【選択肢の吟味】

選択肢 判定 解説
誤り 共通属性数(2)や片方の属性数(3)と混同していますが、全属性を網羅していません。
正解 共通属性 B, C が統合され、A, B, C, D の計4属性となります。
誤り 一方の属性数に他方の非共通属性を足した数(3+2=5)など、計算ミスと考えられます。
誤り 単純に全属性を足し合わせた数(3+3=6)であり、共通属性の重複排除が行われていません。

【ポイント】

  • 自然結合の属性集合は、元のリレーションの属性集合の和集合である。

  • 共通属性は結合時に重複が排除され、1つにまとめられる。

  • 選択演算(σ)や射影(π)と異なり、属性数そのものが定義によって決まる。

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

コメント

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