before solving read carefully

"Form the following instance of a relation schema R(A,B,C)"

Relation = one table

Instance = values at one moment ( as opposed to the schema, which is the description of all possible values)

From the following instance of a relation schema $R(A,B,C)$, we can conclude that:

$$\begin{array}{|l|l|}\hline \textbf{A} & \textbf{B} & \textbf{C} \\\hline \text{1} & \text{1} & \text{1} \\ \text{1} & \text{1} & \text{0} \\ \text{2} & \text{3} & \text{2} \\ \text{2} & \text{3} & \text{2} \\\hline \end{array}$$

- $A$ functionally determines $B$ and $B$ functionally determines $C$
- $A$ functionally determines $B$ and $B$ does not functionally determine $C$
- $B$ does not functionally determine $C$
- $A$ does not functionally determine $B$ and $B$ does not functionally determine $C$

### 7 Comments

In answer @Jarvis is saying

in future there might be some tuple that may violate FD A->B

Can't there be a Tuple in future which may violate FD B->C

like (2,3,1)

In this way we cannot solve any question especially which is based on normalisation. For example, in any normalisation question what if in the future there is a dependency which violates the normalisation form that is present in the question at that moment.

According to the given tuples, the answer for this particular question, according to me should be option B. Please answer.

## 6 Answers

Generally Normalization is done on the schema itself.

From the relational instance given, we may strike out $FD$ s that do not hold.

e.g. $B$ does not functionally determine $C$ (This is true).

But, we cannot say that $A$ functionally determines $B$ for the entire relation itself. This is because that, $A\to B$ holds for this instance, but in future there might be some tuples added to the instance that may violate $A\to B$.

So, overall on the relation we cannot conclude that $A\to B$, from the relational instance which is just a subset of an entire relation.

*Answer - (C)*

*If we observe carefully "Instance" of a relation Schema R(A,B,C) is given here.*

*Now as we can see A functionally determines B for the present tuples.*

*But B does not determines C. **That is clearly Visible.*

*In future there may be chances of tuples to be present where A can not determine B uniquely.*

*So,option C is most suitable.*

Since for this table we can clearly see that everytime when A=1 then B=1 and everytime when A=2 then B=2

so for this particular snapshot we can say that A functionally determines B.

But observing for functional dependency of B and C,

We see that when B=1 then C has two values 1, 0 hence B fails to funtionally determine C.

Hence *option** C* can be considered to be correct.

Here A->B satisfies(for same value in A , B also gives unique value)

B->C not satisfies(when B is 1 , C gives two values 1,0)

### 4 Comments

** ** srestha @Arjun sir

question says **,Form the following instance of a relation** so according to that **B should ****be ****answer** .why we are considering other possibilities ?pls clear this