From Database System Concepts, by Silberschatz, Korth and Sudarshan :
A domain is atomic if elements of the domain are considered to be indivisible units. We say that a relation schema
R
is in first normal form (1NF) if the domains of all attributes ofR
are atomic.A functional dependency
A →
B is called a partial dependency if there is a proper subsetC
ofA
such thatC → B
. We say thatB
is partially dependent onA
. A relation schemaR
is in second normal form (2NF) if each attributeX
inR
meets one of the following criteria:• It appears in a candidate key.
• It is not partially dependent on a candidate key.
If I am correct, the definition of 1NF in the book is the same as in Wikipedia which says
A relation is in first normal form if and only if the domain of each attribute contains only atomic (indivisible) values, and the value of each attribute contains only a single value from that domain.
Is the definition of 2NF in the book the same as in Wikipedia which says
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.
?
Specifically:
- I don't think the definition of 2NF in the book requires a relation schema being in 1NF, and I wonder if I am wrong and why?
While 2NF is related to functional dependency, is 1NF related to functional dependency between attributes in a relation schema? (I don't see the definition of 1NF involves functional dependency.)
Does the definition of 2NF in Wikipedia require that there can't be duplicate rows?
Does the definition of 2NF in Wikipedia rely on a different definition of 1NF? For example, see Does 1NF require that there can be no duplicate rows?
Thanks.