软考-软件设计师:数据库技术基础-关系代数:关系运算-并集、交集、差集、投影、选择、笛卡儿积、自然连接

介绍

5种基本的关系代数运算包括:

  • 并集
  • 交集
  • 差集
  • 笛卡儿积
  • 投影
  • 选择

并集、交集、差集

前提: 表结构相同

演示例子

有下图两个表,表结构相同:

并集(Union)

所有记录合并起来,相同记录只出现一次

交集

只保留 相同记录:

差集(Difference)

“差集”指的是两个关系模式属性集合之间的差异

有关系模式 R1(AB)和 R2(AC),那么:

  • R1-R2 结果是 R1 中有但 R2 中没有的属性,所以结果是 B

  • R2-R1 结果是 R2 中有但 R1 中没有的属性,所以结果是 C

S1-S2 的结果

注意: 如果是 S2-S1,结果是不同的

投影、选择

演示例子

投影

对列进行选择,即:查询某几列

符号: \Pi

如下图,对 S1 查询 no 和 name 两列:

选择

对行进行选择,即:条件查询

符号: \sigma

如下图,对 S1 查询 no 是 No0003 的记录:

笛卡儿积

所有行全映射,所有列保留,即:A表的每一条记录,都对应B表的每一条记录

符号: X

提示:只有笛卡尔积 保留所有列

例子

有下图两个表

结果

自然连接

特点:以 同名列 进行 等值 匹配,重复属性保留一个

符号: \bowtie

例子

有以下两个关系

结果

关系 S1 与 S2 有同名字段 Sno,保留该字段相同的记录,相同列保留1个,如下:

等价写法

不等价写法

题

分析第一问

R与S自然连接:R与S相同列有 C、D,保留 R.C = S.C 且 R.D = S.D 的结果,相同列保留1个,即:A,B,C,D,E 5列

B

分析第二问

\Pi_{1,4}(\sigma_{2=5}(R \bowtie S)) 的意思:

  1. R \bowtie S :关系 R 和 S自然连接,保留 R.C = S.C 且 R.D = S.D 的结果,相同列保留1个,即:查询的结果是:(A,B,C,D,E)

  2. \sigma_{2=5}(R \bowtie S):查询 B = E 的记录

  3. \Pi_{1,4}(\sigma_{2=5}(R \bowtie S)):对上面结果查询 1,4 列,即:查询 A,D 两列

根据上面第2步可知,查询 B = E 的记录,4个选项中,只有 D 正确

提示:D不完全正确,因为没有查询 R.C = S.C 且 R.D = S.D

答案

B

D


原文出处:/show_1GW12QG9iRtE.html