First Normal Form (1NF) Rules and Examples
Fast recall
Quick revision
Core answer
Understanding that 1NF uses one value from a declared domain at each row-column position and has no repeating groups
Treating a declared SQL PRIMARY KEY as the whole definition of 1NF
Explain why a separately meaningful list often belongs in child rows, while JSON or array columns need a deliberate domain and query design
Interview-ready guide
Interview answer
First Normal Form means each row-column position contains one value from its domain and the relation has no repeating groups. A value such as '555-1234, 555-5678' is a problem when those phone numbers need independent lookup, uniqueness, or relationships. A child table with one phone number per row makes those rules explicit. A candidate key distinguishes tuples; in SQL it is commonly declared with PRIMARY KEY or UNIQUE plus NOT NULL. JSON and arrays can be deliberate product features, but they require a conscious choice about per-element constraints and queries rather than being an automatic normalization shortcut.
First Normal Form (1NF) Rules and Examples
Direct Answer
First Normal Form means each row-column position contains one value from the column's domain, with no repeating column groups. A practical table also needs a candidate key so rows can be identified, but the SQL PRIMARY KEY constraint is a separate schema decision. A comma-separated list of phone numbers is a common 1NF warning because the values cannot be queried or constrained independently.
Common Mistakes & Pitfalls
- Using JSON without choosing a boundary: JSON can be deliberate, but it changes how per-element relationships, constraints, and indexes are expressed.
- Fixed repeating columns:
phone_1,phone_2, andphone_3hard-code a maximum and make one kind of fact span several columns. - Ignoring candidate keys: Atomic-looking values do not remove the need to know what uniquely identifies a tuple.
Check your understanding
Answer these without looking back at the article.
- Why is storing comma-separated values in a column a bad practice?
- What is a repeating group and how does it violate 1NF?
- After fixing a 1NF violation, what new key might you need?
Looking for a structured roadmap?
Every module on this page is also part of the full Java backend interview track.