📜  门| GATE CS 2019 |第 63 题

📅  最后修改于: 2021-09-25 06:54:34             🧑  作者: Mango

考虑以下关系 P(X, Y, Z), Q(X, Y, T) 和 R(Y, V):
以下关系代数查询将返回多少个元组?

πx(σ(P.Y = R.Y ∧ R.V = V(P X R))) - πx(σ(Q.Y = R.Y ∧ Q.T > 2(Q X R))) 

注意:这是数字类型问题。
(一) 3
(乙) 1
(三) 2
(四) 4答案:(乙)
说明:查询 1:

πx(σ(P.Y = R.Y ∧ R.V = V(P X R)))

它只会满足一行:

X  Y  Z  Y  V
-------------------
X2  Y2  Z2  Y2  V2 
-------------------

只会选择 X 列。

X 
-----
X2  
-----

查询 2:

πx(σ(Q.Y = R.Y ∧ Q.T > 2(Q X R)))

它将满足三行:

X  Y  T  Y  V
-------------------
X1  Y2  5  Y2  V3
X1  Y2  5  Y2  V2
X1  Y1  6  Y1  V1 
-------------------

只会选择 X 列。

X 
-----
X1 
-----

请注意,关系代数仅返回唯一的元组。

现在,

= πx(σ(P.Y = R.Y ∧ R.V = V(P X R))) 
= (Query-1) - (Query-2)
= X2 - X1
= X2

所以,答案是1

请注意,{(Query-1) – (Query-2)} 将返回 query-1 中所有不在 query-2 中的元组。

这个问题的测验

这个问题的测验