1

From 3rd Normal Form Definition:

A database is in third normal form if it satisfies the following conditions:

  • It is in second normal form.
  • There is no transitive functional dependency.

By transitive functional dependency, we mean we have the following relationships in the table: A is functionally dependent on B, and B is functionally dependent on C. In this case, C is transitively dependent on A via B.

My lucturer gave us a second defenition for 3NF:

Non-prime attributes cannot depend on any set that isn't a super-key (transitive dependency).

Are both definitions to 3NF equal? Why?

Stav Alfi
  • 13,139
  • 23
  • 99
  • 171
  • What is tacking on "(transitive dependency)" trying to say? – philipxy Aug 12 '17 at 12:44
  • I think it has the same meaning like this article explains: https://www.essentialsql.com/get-ready-to-learn-sql-11-database-third-normal-form-explained-in-simple-english/ but I'm not sure.. – Stav Alfi Aug 12 '17 at 13:00
  • It doesn't mean anything. It is an irrelevant term stuck on the end. But something else might mean something. PS The definitions in this post & your links are all wrong. Read a published textbook. – philipxy Aug 12 '17 at 13:24
  • I suspected that something is wrong here, any chance for referencing me to any better definition on that subject? – Stav Alfi Aug 12 '17 at 13:32
  • I have a draft answer but I must research/prove more because in composing I have come to suspect certain definitions that I had thought ok. Many textbooks are free online (like, 2 dozen); but many are sloppy, and few cover a range of definitions. From Zaniolo's paper introducing the correct form of the 2nd above: "A relation R is 3NF iff for every nontrivial FD of R, X -> A, (a) X is a superkey for R, or (b) A is a [candidate] key attribute for R." But its "transitively dependent" definition, attributed to Codd via Berstein, doesn't need 2NF. I'm looking for the 2NF+ definition. – philipxy Aug 12 '17 at 14:00

2 Answers2

3

Let's assume there exists an attribute X that depends on a set of attributes that is not a Super-Key. This would imply that the set that X depends on contains at least one attribute np1 that is NOT part of a Super-Key. But np1 will in turn depend on a Super-Key. Because np1 depends on the Super-Key, one (and only one) of the following will be true :

A. X only depends on the Super-Key => this contradicts our initial assumption

or

B. X only depends on np1 => this introduces a transitive dependency

If X would truly depend on both the SK and np1, then [SK, np1] would become a superkey - which is not possible.

So the only possible conclusion is that the two definitions are equal.

Andy
  • 3,631
  • 2
  • 23
  • 32
  • You said "`np1` will in turn depend on a Super-Key". How you conclude that? it may depend on `np2` , while `np2` is not part of the Super-Key and `np2` depends on `np3` and so on until `np-N` which is a Super-Key. – Stav Alfi Aug 12 '17 at 12:29
  • @StavAlfi - yes, np1 may not directly depend on an SK, but you eventually arrive at a SuperKey, as you have described. So np1 will depend on the SK either directly or indirectly. – Andy Aug 13 '17 at 18:42
0

Both are Similar statements but the second one is ameliorated and therefore much more fascinating.

Specifically: a relation is in 2NF if it is in 1NF and no non-prime attribute is dependent on any proper subset of any candidate key of the relation. A non-prime attribute of a relation is an attribute that is not a part of any candidate key of the relation.

A candidate key is a Super Key from which no more Attribute can be pruned.

The highlighted part gives the conclusion that The database is in 2NF form(that was your first excerpt)