2NF There are two Definitions which is right

From: Jens Haase <jens_at_haase.to>
Date: Wed, 20 Jul 2005 23:12:07 +0200
Message-ID: <3k7t18Ft6e3bU1_at_individual.net>



I found two definitions for 2NF:
  1. A relation R(A,F) is in 2NF, when every attribute not belonging to the primary key of R is fully functionally dependent on the primary key of R
  2. A relation schema R is in 2NF if every nonprime attribute A in R is fully functionally dependent on the primary key of R

According to the first definition the following schema would not be in 2NF, according to the second it would be:

R = (A,B,C,D)

with:
A->D
AB->C
C->D
D->A

According to the first definition when the primary key is AB, then A->D violates 2NF, because D is not part of the primary key.

According to the second definition R is in 2NF because the candidate keys are AB, BC, BD and since that, every attribute is prime attribute, so there is no violation of 2NF.

Which definition is rigth?

Jens Received on Wed Jul 20 2005 - 23:12:07 CEST

Original text of this message