平成30年度 秋期 午前 問28
データベース
自然結合に関する問題
関係 X と Y を自然結合した後,関係 Z を得る関係代数演算はどれか。
関係 X
| 学生番号 | 氏名 | 学部コード |
|---|---|---|
| 1 | 山田太郎 | A |
| 2 | 情報一郎 | B |
| 3 | 鈴木花子 | A |
| 4 | 技術五郎 | B |
| 5 | 小林次郎 | A |
| 6 | 試験桃子 | A |
関係 Y
| 学部コード | 学部名 |
|---|---|
| A | 工学部 |
| B | 情報学部 |
| C | 文学部 |
関係 Z
| 学部名 | 学生番号 | 氏名 |
|---|---|---|
| 情報学部 | 2 | 情報一郎 |
| 情報学部 | 4 | 技術五郎 |
- ア射影と和
- イ選択
- ウ選択と射影
- エ選択と和
答えと解説を見る
✓ これが正解ウ選択と射影
解説
結合した表から目的の表を得る演算の組を選ぶ問題です。
自然結合は共通する列の値が一致する行を結び付ける演算で、ここでは学部コードがその列です。結んだ直後の表には、六人ぶんの行と、学生番号と氏名と学部コードと学部名の四つの列が並びます。求める表と見比べると、違いは二つあります。一つは行が減っている点で、残っているのは学部名が情報学部の二行だけです。行を条件で絞り込む演算は選択なので、まずこれが必要です。もう一つは列の構成で、学部コードが落ち、残る三つも並び順が変わっています。列を取り出したり並べ替えたりする演算は射影です。よって二つを組み合わせれば目的の表になります。行の絞り込みと列の取り出しは受け持ちが分かれており、片方だけでは足りません。順番はどちらを先にしても同じ結果になります。どこが減ったかを行と列に分けて見るのが読み方の勘どころです。
ほかの選択肢はなぜ違うのか
- ア射影と和:和は、同じ列の構成を持つ二つの表を縦に足し合わせる演算です。ここでは行が増えるどころか四行減っているので、足し算の出番がありません。列を取り出す働きは合っていますが、組み合わせる相手が違っている肢になります。
- イ選択:行を絞り込む働きだけでは、学部コードの列が残ったままになります。求める表は三つの列しか持たないので、列を落とす手当てがもう一つ必要です。必要な演算を一つ数え落とした形です。求める形まで一歩足りません。数え落としに注意します。
- エ選択と和:行の絞り込みは合っていますが、相方に和を置いた点が外れています。和は表を縦につなぐ演算なので、列を減らす働きは持ちません。残った学部コードの列を落とす役目が抜けています。組を選び直す必要があります。手当てが一つ足りません。
出典:平成30年度 秋期 基本情報技術者試験 午前 問28
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)