関係データベースの“商品”表から価格が100円以上の商品の行(レコード)だけを全て抽出する操作を何というか。 商品
| 商品番号 | 商品名 | 価格(円) |
|---|---|---|
| S001 | はさみ | 200 |
| S002 | 鉛筆 | 50 |
| S003 | ノート | 120 |
| S004 | 消しゴム | 80 |
| S005 | 定規 | 150 |
この問題の解説と、これまでの解答の記録です。
関係データベースの“商品”表から価格が100円以上の商品の行(レコード)だけを全て抽出する操作を何というか。 商品
| 商品番号 | 商品名 | 価格(円) |
|---|---|---|
| S001 | はさみ | 200 |
| S002 | 鉛筆 | 50 |
| S003 | ノート | 120 |
| S004 | 消しゴム | 80 |
| S005 | 定規 | 150 |
結合 (join) は、二つ以上の表を共通する項目 (列) の値で対応付け、一つの表にまとめる演算です。表が複数あって初めて成り立つ操作であり、本問は商品表という一つの表だけを扱い、他の表と突き合わせてもいないため該当しません。
射影 (projection) は、表から必要な列 (項目) だけを取り出す演算で、絞り込む向きが行ではなく列です。たとえば商品表から商品名と価格の列だけを取り出すのが射影で、行は原則としてすべてが対象になります (取り出した列だけで見て同じ内容の行が生じた場合は、重複がまとめられます)。「価格が100円以上」という行の条件で絞る本問の操作は射影ではありません。
正解 「選択 (selection)」は、表の中から条件に合う行 (レコード) だけを取り出す関係演算です。本問は「価格が100円以上」という行に対する条件で絞り込む操作なので、選択にあたります。図の商品表に適用すると、S001 はさみ 200円・S003 ノート 120円・S005 定規 150円の3行が残り、S002 鉛筆 50円と S004 消しゴム 80円は除かれます。このとき商品番号・商品名・価格の3列はすべてそのまま残り、行数だけが5行から3行に減ります。この「列はそのまま、行だけが減る」という結果の形が選択の目印です。よって正解はウ。
和 (union) は、列構成が同じ (和両立の) 二つの表を重ね合わせ、どちらか一方にでも含まれる行を集めて一つの表にする集合演算です。表が二つ必要で、行は増えることはあっても条件によって絞り込まれるわけではないため、本問には当てはまりません。