Read: 14a DB Normalization From Essential SQL website "Database Normalization" - cindyweiss/seattle-301d55 GitHub Wiki

Database normalization is a process used to organize a database into tables and columns. The idea is that a table should be about a specific topic and that and only supporting topics included.

By limiting a table to one purpose you reduce the number of duplicate data contained within your database. This eliminates some issues stemming from database modifications.

There are three main reasons to normalize a database. The first is to minimize duplicate data(Insert Anomaly), the second is to minimize or avoid data modification issues(Update Anomaly), and the third is to simplify queries(Deletion Anomaly).

There are three common forms of database normalization: 1st, 2nd, and 3rd normal form. They are also abbreviated as 1NF, 2NF, and 3NF respectively.

First Normal Form โ€“ The information is stored in a relational table with each column containing atomic values. There are no repeating groups of columns. Second Normal Form โ€“ The table is in first normal form and all the columns depend on the tableโ€™s primary key. Third Normal Form โ€“ the table is in second normal form and all of its columns are not transitively dependent on the primary key