retagged by
8,876 views
42 votes
42 votes

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 by

4 Answers

Best answer
49 votes
49 votes
select distinct in SQL is equivalent to project and by default relation 1, relation 2 in SQL corresponds to cross-product. So, option A.
selected by
13 votes
13 votes
Join intersection union might give lesser num of tuples cross gives all ,A option.
6 votes
6 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.
3 votes
3 votes

SELECT DISTINCT In SQL  -  Projection (Π) in Relational Algebra

FROM in SQL - Cartesian Product (×) in Relational Algebra

WHERE in SQL - SELECTION(σ) in Relational Algebra

So, the query will be equivalent to 

Πₐ₁,ₐ₂,…ₐₙσₚ₍ᵣ₁×ᵣ₂×⋯×ᵣₘ₎

 

edited by
Answer:

Related questions

46 votes
46 votes
6 answers
1
42 votes
42 votes
3 answers
2
Kathleen asked Sep 17, 2014
14,792 views
Consider the following functional dependencies in a database.$$\begin{array}{|l|l|}\hline \text{Date_of_Birth } \to \text{Age} & \text{Age } \to \text{Eligibility} \\\hli...
30 votes
30 votes
7 answers
3
Kathleen asked Sep 17, 2014
9,905 views
Consider the following $2-3-4$ tree (i.e., B-tree with a minimum degree of two) in which each data item is a letter. The usual alphabetical ordering of letters is used in...