894 views

Let r and s be two relations over the relation schemes R and S respectively, and let A be an attribute in R.  The relational algebra expression $\sigma_{A=a}(r \bowtie s)$ is always equal to

1. $\sigma_{A=a}(r)$
2. $r$
3. $\sigma_{A=a}(r) \bowtie s$
4. None of the above
retagged | 894 views
here selection is based on constant value ,so its better to filter r first

,if selection is based on compaison of attributes it is better to first cartesian then apply condition
why this question tagged as difficult?

ans is C.

C is just the better form of query, more execution friendly because requires less memory while joining. query, given in question takes more time and memory while joining.
answered by Boss (8.4k points)
selected
thanks to early use of selection
If we consider answer C means, tables will be joined using column 'A'.There may be other similar columns in two tables.Suppose column 'B' is in both.

PLZ explain.
According to the equation in the question, we take a join of r and s and then select the rows where attribute A has the value a. In option C, we first apply the filter, i.e. select those rows from r where A attribute has value a and then apply join with s. Hence, C is optimised as the number of rows used in the join is less.

It is an efficient way to write the query to select first the tuples then cross with other relation.
answered by (133 points)

It is an efficient way to write the query.First apply selection condition to reduce the number of tuples then apply cross product.
answered by (133 points)