in Databases edited by
46 votes

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}$$

  1. $A$ functionally determines $B$ and $B$ functionally determines $C$
  2. $A$ functionally determines $B$ and $B$ does not functionally determine $C$
  3. $B$ does not functionally determine $C$
  4. $A$ does not functionally determine $B$ and $B$ does not functionally determine $C$
in Databases edited by


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)

Why $(B)$ is not the answer$?$

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)

but how we can decide .....question telling about also future.
Forget about future, focus on the word 'instance', An instance of the relation is given there might be many more tuples in the relation where the property might not hold so we can not conclude that A functionally determines B. The word instance is important here. From instance, it looks like A determines B for relation it may be false.

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

I think from the following instance we conclude that option (B) is correct.

Not clear to me at least, how we can think about future here. Question clearly says from the given instance what we conclude.

How can we say that in future A may/may not be able to functionally determine B
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.

Subscribe to GO Classes for GATE CSE 2022

6 Answers

73 votes
Best answer
Answer is $C$.

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.
edited by


nice jarvis
16 votes

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.

4 votes

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.

0 votes

ans is c

–2 votes
When value of A is 1,B is 1.When value of A is 2,B is 3.So A functionally determines B.

When value of B is 1,C is 1 and in another case C is 0.So B does not functionally determine C.

Hence,the answer is B.


wrong answer.
–3 votes
Ans will be B

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)


For the given instance yes, but there can be another instance also for R where the FD may not hold. So, from a given instance we can only say "no FD".

  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 

Suppose a person from religion X throws a bomb. From this can we conclude that religion X is teaching terrorism?

Likewise everything depends on the definition. FD is defined on relational schema and not on any instance alone.
If they say $"$given relation(schema)$"$ then answer should be $(B)?$

please correct me if I'm wrong$?$

Related questions