<p><style_prompt: technical_expert_ipa="">本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</style_prompt:></p>
<h1 class="wp-block-heading">令和5年度 データベーススペシャリスト 問1:関係代数の演算</h1>
<p>本問は、関係代数の「自然結合」と「射影」における属性の変化を問う。結合時の重複属性の扱いと、射影後の次数(属性数)の把握が解法の鍵となる。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【問題】
関係 $R(A, B, C)$ と $S(C, D, E)$ がある。この二つの関係の自然結合 $R \bowtie S$ を求め、その結果から属性 $A, B, E$ を取り出したときの次数(属性の数)はいくつか。</p>
<p>ア 1
イ 2
ウ 3
エ 5</p>
</blockquote>
<p>【解説】
関係代数における演算プロセスを以下のステップで解説する。</p>
<ol class="wp-block-list">
<li><p><strong>自然結合 ($R \bowtie S$) の定義</strong>
二つの関係に共通する属性(本問では属性 $C$)を結合キーとして結合する演算。自然結合では、共通属性は重複して保持されず、一つにまとめられる。
結合後の属性集合は以下の通りとなる。
$$ {A, B, C} \cup {C, D, E} = {A, B, C, D, E} $$
この時点での次数(属性数)は $5$ である。</p></li>
<li><p><strong>射影 ($\pi_{A, B, E}$) の定義</strong>
指定された属性のみを抽出し、新しい関係を生成する演算。
結合結果の属性集合 ${A, B, C, D, E}$ から、指定された ${A, B, E}$ のみを抽出する。</p></li>
<li><p><strong>次数の算出</strong>
射影された結果の関係に含まれる属性は $A, B, E$ の $3$ つである。したがって、最終的な次数は $3$ となる。</p></li>
</ol>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
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"]
</pre></div>
<p>【選択肢の吟味】</p>
<figure class="wp-block-table"><table>
<thead>
<tr>
<th>選択肢</th>
<th>判定</th>
<th>解説</th>
</tr>
</thead>
<tbody>
<tr>
<td>ア</td>
<td>×</td>
<td>属性 $A, B, E$ の 3 つが抽出されるため、1 ではない。</td>
</tr>
<tr>
<td>イ</td>
<td>×</td>
<td>属性 $A, B, E$ の 3 つが抽出されるため、2 ではない。</td>
</tr>
<tr>
<td><strong>ウ</strong></td>
<td><strong>正解</strong></td>
<td><strong>射影によって指定された $A, B, E$ の合計 3 属性が残る。</strong></td>
</tr>
<tr>
<td>エ</td>
<td>×</td>
<td>自然結合直後の属性数($A, B, C, D, E$)であり、射影前の状態。</td>
</tr>
</tbody>
</table></figure>
<p>【ポイント】</p>
<ul class="wp-block-list">
<li><p><strong>次数 (Degree)</strong>:関係(テーブル)に含まれる属性(列)の数のこと。</p></li>
<li><p><strong>自然結合</strong>:共通属性をキーに結合し、重複する列を 1 つに集約する操作。</p></li>
<li><p><strong>射影</strong>:特定の列を抽出する操作。抽出後の属性数がそのまま次数となる。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 データベーススペシャリスト 問1:関係代数の演算
本問は、関係代数の「自然結合」と「射影」における属性の変化を問う。結合時の重複属性の扱いと、射影後の次数(属性数)の把握が解法の鍵となる。
【問題】
関係 $R(A, B, C)$ と $S(C, D, E)$ がある。この二つの関係の自然結合 $R \bowtie S$ を求め、その結果から属性 $A, B, E$ を取り出したときの次数(属性の数)はいくつか。
ア 1
イ 2
ウ 3
エ 5
【解説】
関係代数における演算プロセスを以下のステップで解説する。
自然結合 ($R \bowtie S$) の定義
二つの関係に共通する属性(本問では属性 $C$)を結合キーとして結合する演算。自然結合では、共通属性は重複して保持されず、一つにまとめられる。
結合後の属性集合は以下の通りとなる。
$$ {A, B, C} \cup {C, D, E} = {A, B, C, D, E} $$
この時点での次数(属性数)は $5$ である。
射影 ($\pi_{A, B, E}$) の定義
指定された属性のみを抽出し、新しい関係を生成する演算。
結合結果の属性集合 ${A, B, C, D, E}$ から、指定された ${A, B, E}$ のみを抽出する。
次数の算出
射影された結果の関係に含まれる属性は $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 つに集約する操作。
射影:特定の列を抽出する操作。抽出後の属性数がそのまま次数となる。
コメント