In K→A
, the K
and A
stand for sets of attributes. Let's suppose K
is {j, k}
and A
is {x, y, z}
. Then we have
{j, k} → {x, y, z}
Then x
is dependent on the key, and that dependency is non-transitive.
A
(i.e. {x, y, z}
) is not a key for R
(we're supposing), so the fact that {x, y, z}
trivially Functionally Determines {x}
(search for 'trivial' here) does not fall under the 2nd bullet that you quote from wikipedia on 3NF.
You might prefer to work with the Zaniolo 1982 definition that wikipedia gives. Because this is self-contained/doesn't need cross-referring to 2NF. (It'll also help you see the difference to BCNF, sometimes called "twothree-and-a-half Normal Form".)
Be careful to observe that given some set of FDs for a relation, you can derive further FDs, including the trivial FDs. (See Armstrong's Axioms and 'Closure' on the FD's article.) Then the fact that you can derive some dependency transitively which is the same as a non-transitive dependency already given, is just a tautology.
Addit: in response to comments "transitive dependent ... I still need some authoritative expression"
Ok. Looking at the wikipedia definition of 'Transitive Dependency' you have linked to in the q:
A transitive dependency can occur only in a relation that has three or more attributes. Let A, B, and C designate three distinct attributes (or distinct collections of attributes) in the relation.
Your formula mentioning K, A, x
is not "three ... distinct collections of attributes": specifically x
is not distinct from A
; x
is an element of A
. Therefore your K → A ∧ A /→ K ∧ A → x
does not represent a transitive dependency. But we do have that K→x
. Therefore x
's dependency on K
must be non-transitive.
So in wikipedia's definition of 3NF, its definition of transitive dependency is sloppy.
To put it in sharp focus: imagine your K
contains only a single attribute k
; imagine your A
contains only a single attribute x
. Now you can't apply the definition of transitive dependency: R
contains less than 3 attributes.
A
is a set of non-prime attributes, and includesx
thenA→x
is a 'trivial Functional Dependency'. It's usual to exclude those, so I suspect wikipedia is inaccurate. See the alternative definition Zaniolo 1982: this explicitly excludes trivial FDs, first bullet. $\endgroup$ – AntC Feb 19 '19 at 23:40