Redirected
in Databases edited by
6,157 views
5 votes
5 votes

If every non-key attribute is functionally dependent on the primary key, then the relation is in ________

  1. First normal form
  2. Second normal form
  3. Third normal form
  4. Fourth normal form
in Databases edited by
by
6.2k views

4 Comments

Fully functionally dependent or partially functionally dependent ?
0
0
yes , it  should be in 2NF.
0
0
but fully or partially?
0
0

18 Answers

14 votes
14 votes

Consider R(ABCD) {AB-->CD, C-->D, B-->D} and AB is the primary key. Every non-key (C and D) is functionally determined by primary key (AB) [condition satisified].

You will argue that C-->D (transitive) and B-->D (partial) are invalid and violate the condition. But question did not say that D must be determined "ONLY" by a primary key. Once we satisfy the condition, we are free to see more possibilities try to prove 2NF and 3NF false.  

And if you see trivially, primary key ALWAYS determine EVERY non-key attribute by default. So the statement really does not add any useful information about the possible FD set that can satisfy higher normal forms. It may or may not satisfy. Our FD set in example SATISFIES the condition and it is just in 1NF.

But yes, if every non-key attribute is determined "ONLY" by the primary key, then it will be in minimum 3NF as there will not be any partial / transitive dependency then.

Hence the answer in this case will be 1NF. But as the answer key suggests 3NF, they really must be considering the latter case and framed the question incorrectly.

edited by

1 comment

For FD: C -> D, D is non key attribute and it is not dependent on Primary key which is AB. "EVERY non key attribute functionally dependent primary relation. "  We can't take this FD for given statement. It has to be 3NF. 

You can say there's no "ONLY" keyword. BUT there is "EVERY" keyword that implies we can't take C->D when there's clearly mention that "EVERY non key attribute (like D) is functionally dependent on Primary key (which is AB)."

1
1
11 votes
11 votes
Should be 2NF.

A--->B, B--->C , A--->C here A is key and relation is in  2NF.

4 Comments

For FD: B->C, C is non key and it is not dependent on Primary key which is A. "EVERY non key attribute functionally dependent primary relation. "  We can't take this FD for given statement. It has to be 3NF.

0
0

@vivek07 

A--> C is there in FD set so C is dependent on primary key..

0
0
Yes
0
0
7 votes
7 votes
it should be A ) 1nf

AC->B (where AC is pk on table{A B C} )

so there may be a relation C->B (partial dependency, question does not say about this , so its a possibility )

thats why its 1nf

4 Comments

^^ B---> C if C is prime then B must be prime. It will be in 3NF.
2
2
In question it is clearly mentioned that it is fully functional dependent, so why are you considering partial dependency
0
0
where fully word is there in question
0
0

For FD: B->C, C is non key and it is not dependent on Primary key which is A. "every non key attribute functionally dependent primary relation. "  We can't take this FD for given statement. It has to be 3NF.

0
0
3 votes
3 votes
I think it is 3NF.

Because 3NF wants either of two conditions-

X-->Y

i)X is a superkey

or

ii)Y is prime attribute

1 comment

they have not mentioned about transitively dependency so we can’t say 3nf….better to say 2nf
0
0
Answer:

Related questions