first normal form
first normal form is now considered to be part of the formal definition of a relation in the basic (flat) relational model; historically, it was defined to disallow multivalued attributes, composite attributes, and their combinations. it states that the domain of an attribute must include only atomic (simple, indivisible) values and that the value of any attribute in a tuple must be a single value from the domain of that attribute. hence, 1NF disallows having a set of values, a tuple of values, or a combination of both as an attribute value for a single tuple. in other words, 1NF disallows relations within relations or relations as attribute values within tuples. the only attribute values permitted by 1NF are single atomic (or indivisible) values.
[cite:;see @elmasri_db_2015 chapter 14 basics of functional dependencies and normalization for relational databases]
[cite:;see @elmasri_db_2015 chapter 14 basics of functional dependencies and normalization for relational databases]
every relation in the relational model is atleast of the normal form 1NF; i.e.:
- has the form of a table
- its fields contain atomic values
- a key is defined for it, and the key contains unique values (not null)
an example of a relation that isnt in 1NF:
the courses field isnt atomic as it is a collection for course codes
students(id,name,department,courses)
the courses field isnt atomic as it is a collection for course codes