Despite being a fundamental concept in relational databases, First Normal Form (or 1NF) is often explained confusingly or downright incorrect. This post explains what 1NF actually means and is useful for, and then it will debunk a number of the misunderstandings.
E. F. Codd, the inventor of the relational model, explained 1NF as: "Eliminate domains which have relations as elements". In more common database terminology, this means "Eliminate columns which can have tables as values".
Since SQL does not allow creating or using nested tables, most relational databases will be in first normal form by necessity.
A note about terminology: The fundamental premise of the relational model is to view data as relations. A relation more or less correspond to a table (a common misunderstanding is that relation refer to the relationships between tables), an attribute correspond to a column, and a domain - the critical concept in 1NF - corresponds to the data type of a column.
So even in the unnormalized form, data have to conform to certain constraints to be considered relational. But the model does not have any constraints on domains. SInce domains can contain anything, they can also contain relations. Which means an attribute can have a relation as value, and that relation can have an attribute which have a relation as value and so on.