# Second Normal Form (2NF)

**DOI:**https://doi.org/10.1007/978-1-4899-7993-3_1263-2

## Synonyms

## Definition

Let *R*(*A* _{1},..., *A* _{ n }) be a relation schema and *Σ* a set of functional dependencies over *R*(*A* _{1},..., *A* _{ n }). An attribute *A* _{ i } (*i* ∈{1,...,*n*}) is a *prime* attribute if *A* _{ i } is an element of some key of *R*(*A* _{1},..., *A* _{ n }). Then specification (*R*, *Σ*) is said to be in second normal form (2NF) if for every nontrivial functional dependency *X* → *A* implied by *Σ*, it holds that *A* is a prime attribute or *X* is not a proper subset of any (candidate) key for *R* [1].

## Key Points

In order to avoid update anomalies in database schemas containing functional dependencies, 2NF was introduced by Codd in [1]. This normal form is defined in terms of the notions of prime attribute and key as shown above. For example, given a relation schema *R*(*A*, *B*, *C*) and a set of functional dependencies *Σ* = {*A* → *B*}, it does not hold that (*R*(*A*, *B*, *C*), *Σ*) is in 2NF since *B* is not a prime attribute and *A* is a proper subset of the key *AC*. On the other hand, (*S*(*A*, *B*, *C*), *Γ*) is in 2NF if *Γ* = {*A* → *B*, *B* → *C*}, since *A* is a key (and thus it is not a proper subset of any candidate key) and *B* is not contained in any (candidate) key for *S*.

It should be noticed that relation schema *S*(*A*, *B*, *C*) above is in 2NF if *Γ* = {*A* → *B*, *B* → *C*}, although this schema is not in 3NF. In fact, 3NF is strictly stronger than 2NF; every schema in 3NF is in 2NF, but there exist schemas (as the one shown above) that are in 2NF but not in 3NF.

## Cross-References

### Recommended Reading

- 1.Further CEF. Normalization of the data base relational model. In: Data base systems. Englewood Cliffs: Prentice-Hall; 1972. p. 33–64.Google Scholar