题目
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( )。SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1RB C Da 0 k1b 1 n1A) 并 B) 自然连接[1] C) 笛卡尔积 D) 交
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( )。
S
B C D
f 3 h2
a 0 k1
n 2 x1
T
B C D
a 0 k1
R
B C D
a 0 k1
b 1 n1
A) 并
B) 自然连接[1]
C) 笛卡尔积
D) 交
题目解答
答案
通过分析关系 R、S 和 T 的结构与内容,判断由 R 和 S 得到 T 所使用的运算:
- 并运算[2](A):结果为 $ R \cup S $,包含所有不重复元组[3],共 4 条,与 T(仅 1 条)不符。
- 自然连接(B):因 R 与 S 属性完全相同,自然连接等价于匹配所有属性相等的元组,结果为:
$\begin{array}{ccc} B & C & D \\ a & 0 & k1 \\ \end{array}$
与 T 一致,但该运算本质是基于属性匹配的连接,非“公共元组”的直接表达。 - 笛卡尔积(C):结果属性数为 $3 + 3 = 6$,元组数为 $2 \times 3 = 6$,与 T 结构和内容均不符。
- 交运算(D):结果为 $ R \cap S $,即同时存在于 R 和 S 中的元组:
$\begin{array}{ccc} B & C & D \\ a & 0 & k1 \\ \end{array}$
与 T 完全一致,且最直接对应“两个关系中共同存在的元组”这一语义[4]。
综上,最贴合题意的运算是交运算。
答案:D. 交
解析
本题考查数据库中关系运算的知识,解题思路是分别分析并运算、自然连接、笛卡尔积和交运算的特点,然后将关系R和S进行相应运算,看哪种运算的结果与关系T一致。
- 并运算:
- 并运算的定义是将两个关系中的所有元组合并在一起,去除重复的元组,结果记为 $R \cup S$。
- 关系 $R$ 有两个元组 $(a, 0, k1)$ 和 $(b, 1, n1)$,关系 $S$ 有三个元组 $(f, 3, h2)$、$(a, 0, k1)$ 和 $(n, 2, x1)$。
- 进行并运算 $R \cup S$ 后,去除重复元组,得到的结果包含四个元组:$(a, 0, k1)$、$(b, 1, n1)$、$(f, 3, h2)$、$(n, 2, x1)$,这与关系 $T$ 仅有的一个元组 $(a, 0, k1)$ 不符。
- 自然连接:
- 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
- 由于关系 $R$ 和 $S$ 的属性完全相同,自然连接就是匹配所有属性相等的元组。
- 关系 $R$ 和 $S$ 中只有元组 $(a, 0, k1)$ 的所有属性值都相等,所以自然连接的结果为:
$\begin{array}{ccc} B & C & D \\ a & 0 & k1 \\ \end{array}$ - 虽然这个结果与关系 $T$ 一致,但自然连接本质上是基于属性匹配的连接操作,并非直接表示两个关系中公共元组的运算。
- 笛卡尔积:
- 笛卡尔积是将两个关系的元组进行所有可能的组合。
- 若关系 $R$ 有 $m$ 个属性,$n$ 个元组,关系 $S$ 有 $p$ 个属性,$q$ 个元组,则笛卡尔积 $R \times S$ 的结果属性数为 $m + p$,元组数为 $n \times q$。
- 关系 $R$ 有 $3$ 个属性,$2$ 个元组,关系 $S$ 有 $3$ 个属性,$3$ 个元组,所以笛卡尔积 $R \times S$ 的结果属性数为 $3 + 3 = 6$,元组数为 $2 \times 3 = 6$,这与关系 $T$ 的结构和内容均不符。
- 交运算:
- 交运算的定义是取两个关系中共同存在的元组,结果记为 $R \cap S$。
- 关系 $R$ 和 $S$ 中共同的元组只有 $(a, 0, k1)$,所以交运算的结果为:
$\begin{array}{ccc} B & C & D \\ a & 0 & k1 \\ \end{array}$ - 这个结果与关系 $T$ 完全一致,且交运算最直接地对应了“两个关系中共同存在的元组”这一语义。