問67
頻出度★★☆
関係データベースの“商品”表から価格が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)是把列构成相同(并相容的)两个表叠加起来、把只要出现在其中任意一方的行都收集起来汇成一个表的集合运算。它需要两个表,而且行只可能增加,并不会按条件被筛减,因此不适用于本题。