in Databases
5,409 views
30 votes
30 votes

Let $R_1 \left(\underline{A}, B, C\right)$ and $R_2\left(\underline{D}, E \right) $ be two relation schema, where the primary keys are shown underlined, and let C be a foreign key in $R_1$ referring to $R_2$. Suppose there is no violation of the above referential integrity constraint in the corresponding relation instances $r_1$ and $r_2$. Which of the following relational algebra expressions would necessarily produce an empty relation?

  1. $\Pi_D (r_2) - \Pi_C (r_1)$

  2. $\Pi_C (r_1) - \Pi_D (r_2)$

  3. $\Pi_D \left(r_1 \bowtie_{C \neq  D}r_2\right)$

  4. $\Pi_C \left(r_1 \bowtie_{C = D}r_2\right)$

in Databases
5.4k views

4 Comments

What if the field 'C' of relation R1 has NULLs  for some of the records (I believe FKs can have NULLs). Will option B always return empty set?
1
1
1
1

Child-parent=GAME OVER

3
3
Why B? If C has something which isn't there in D then referential integrity is violated which isn't possible as its explicitly mentioned in question.
0
0

1 Answer

26 votes
26 votes
Best answer

Answer is (B).

$C$ in $R1$ is a foreign key referring to the primary key $D$ in $R2$. So, every element of $C$ must come from some $D$ element.

edited by

4 Comments

option C is wrong because column C can contain NULL values as well right?
0
0

 that’s exactly my doubt

0
0
Relational Algebra does not deal with NULL values unless otherwise specified.
0
0
Answer:

Related questions