1.7k views

Consider the following SQL query

Select distinct $a_1, a_2, …, a_n$

from $r_1, r_2, …, r_m$

where P

For an arbitrary predicate P, this query is equivalent to which of the following relational algebra expressions?

1. $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \times r_2 \times \dots \times r_m\right)$

2. $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \bowtie r_2 \bowtie \dots \bowtie r_m \right)$

3. $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \cup r_2 \cup \dots \cup r_m \right)$

4. $\Pi_{a_1, a_2, … a_n} \sigma_p \left(r_1 \cap r_2 \cap \dots \cap r_m \right)$

retagged | 1.7k views

select distinct in SQL is equivalent to project and by default relation 1, relation 2 in SQL corresponds to cross-product. So, option A.
answered by Veteran (367k points)
selected by
0
If query doesn't ask for distinct,is there any valid relational algebra expression for it?
0
@prayas No

RA: Uses set

SQL: Uses Multiset
0
Sir can you please explain why option B is not correct?
0
Option B is doing natural join meaning only those tuples having same value for common attribute(s) in both the relations are selected for output.
+1
Oh ok.got it.Thank you sir
0
Why not union?? It will combine all tuples and return only those Which satisfy the condition!!
+2

For cartesian product we don't check union compatability, but for performing union operation those tables must be union compatiable.

Join intersection union might give lesser num of tuples cross gives all ,A option.
answered by Active (3.3k points)
0
I have doubt in option 1 and option 2? here why not option 2?
A. SQL form the cartesian product of the relation named in the form clause, perform a relational algebra selection using the where clause predicate and then projects the result onto the attributes of select clause.
answered by Active (1.6k points)

1
2