1NF requires that all attributes have atomic (indivisible) domains.
The nested relational model is an extension of the relational model
in which domains may be either atomic or relation-valued. This allows
a complex object to be represented by a single tuple of a nested
relation -- one-to-one correspondence between data items and objects.
Suppose the information to be stored consists of (i) document title, (ii)
author_list (set of authors), (iii) date (day, month, year), and (iv)
key_word_list (list of key words).
Example: A non-1NF document relation, doc.
The doc relation can be represented in 1NF, doc', but awkward.
If we assume the following multi-value dependencies (MVDs) hold:
title author
title keyword
title day month year
we can decompose the relation into 4NF using the schemes:
(title, author)
(title, keyword)
(title, day, month, year)
But the non-1NF representation may be an easier-to-understand model
(closer to user's view). The 4NF design would require users to include
joins in their queries, thereby complicating interaction with the system.
We could define a view, but we lose the one-to-one correspondence between
tuples and documents.