Teyro
CoursesFor creatorsBlog
Log inGet started
Tey Mascot
LOADING.

Every expert you admire was once a beginner who refused to quit.

Teyro

The fun way to finish learning coding and AI: short daily lessons with streaks, leagues and friends.

Get the app

Learn

  • All courses
  • Learn coding
  • Learn AI
  • Learn online
  • How it works
  • Leagues
  • Get the app

Creators

  • Teach on Teyro
  • How teaching works
  • Teach coding online
  • Teach AI online
  • Join as a Founding Creator
  • Creator log in

Resources

  • Blog
  • Features
  • Use cases
  • Compare
  • FAQ

Legal

  • Terms of Use
  • Privacy Policy

© 2026 Teyro · support@teyro.app

HomeBlogSkill Building & Careers
Skill Building & Careers

Database Normalization Explained: 1NF, 2NF and 3NF Simply

Normalization organises tables to reduce duplication and errors. Learn first, second and third normal form with a simple orders example.

The Teyro TeamOct 26, 20261 min read
On this page8 sections
  1. Direct answer
  2. A messy table
  3. Problems
  4. Normalised design
  5. The three forms
  6. Where Teyro fits
  7. The bottom line
  8. More guides

If the same fact lives in many places, it will eventually disagree with itself.

Direct answer

Normalization is the process of organising tables so each fact is stored once. In first normal form each cell holds one value, in second normal form non-key columns depend on the whole key and in third normal form they depend only on the key, not on other columns.

A messy table

order_idcustomercustomer_emailitems
1Adaada@example.compen, book

Problems

  • Several items in one cell.
  • Customer details repeated for each order.

Normalised design

customers(id, name, email)
orders(id, customer_id, created_at)
order_items(order_id, product_id, quantity)
products(id, name, price)

The three forms

  1. 1NF: one value per cell, no repeating groups.
  2. 2NF: every column depends on the whole primary key.
  3. 3NF: columns depend only on the key, not on other non-key columns.

Where Teyro fits

Teyro's SQL and Databases for Beginners course turns this into short lessons you can play in a few minutes a day. It has 50 lessons, and you can start free.

The bottom line

Store each fact once, then join when you need it.

More guides

  • SQL Aggregate Functions
  • SQL Subqueries Explained
  • SQL vs NoSQL
  • Primary key explained
  • Foreign key explained
  • SQL and Databases for Beginners course

Frequently asked questions

What is database normalization?

Structuring tables to reduce duplicated data and avoid update, insert and delete problems.

What are the normal forms?

A series of rules. First normal form removes repeating groups, second removes partial dependencies and third removes transitive dependencies.

Should I always normalize?

Usually for transactional data. Sometimes data is denormalised on purpose for speed or reporting.

Learn it by playing

SQL and Databases for Beginners turns this into short, playable lessons. Free to start.

See the SQL and Databases for Beginners course

Free to start · No credit card needed

Share

Written by

The Teyro Team

Learning Team at Teyro

We build Teyro — an AI-powered learning platform that turns skill-building into a daily habit through bite-sized, gamified lessons. We write about the learning science and study strategies that shape our product.

More from The Teyro Team

On this page

  • Direct answer
  • A messy table
  • Problems
  • Normalised design
  • The three forms
  • Where Teyro fits
  • The bottom line
  • More guides

Keep reading

Skill Building & Careers

Best Careers for 2027: High-Demand Jobs and the Skills to Get Them

The best careers for 2027 and the jobs most in demand, based on BLS and World Economic Forum data, plus the skills each path needs.

Oct 30, 20263 min read
Skill Building & Careers

Best Certifications for 2027: Tech, Data, Cloud and Business

The best certifications for 2027 in cloud, security, data, project management and AI, who each one suits, and when a portfolio matters more.

Oct 30, 20263 min read
Skill Building & Careers

Best Programming Language to Learn in 2027 (for Your Goal)

The best programming language to learn in 2027 depends on what you want to build. Compare Python, JavaScript, TypeScript, SQL and C.

Oct 30, 20263 min read