+21 votes
2k 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)$

asked
retagged | 2k views

3 Answers

+27 votes
Best answer
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 (407k points)
selected by
0
If query doesn't ask for distinct,is there any valid relational algebra expression for it?
+1
@prayas No

RA: Uses set

SQL: Uses Multiset
0
Sir can you please explain why option B is not correct?
+1
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!!
+5

@vupadhayayx86

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

+10 votes
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?
+4 votes
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)
Answer:

+20 votes
4 answers
1
+21 votes
2 answers
2
+28 votes
3 answers
3
+23 votes
4 answers
4
+24 votes
1 answer
5
+28 votes
3 answers
6
+39 votes
3 answers
7