On Focus: Database normalization
What is a database? What the heck database normalization means?
Well, database consists of collection of data. You can store, modify, delete, update and so on various data. SQL (Structured Query Language) is a language which is used to make collective queries.
There are different types of databases such as logical data models, object-relational database and other models of databases. Logical data models are the most used and common database models. Logical data models consists of lots of variation, e.g. relational, hierarchical, object model and so on.
For the database to work properly as well as efficiently and created correctly, you need to follow the three rules of database normalization. Although database normalization isn't a requirement but more of a suggestion. Database normalization helps to organize your data to the database. The most important goals are to reduce duplication of data and store relevant data.
Database normalization is combination of normal forms. There are three main normal forms and two other forms which are more rare to be used.
1NF - Delete duplicated data/columns from the same tables; Create tables for each of the data group e.g. customers; Set a (unique) primary key for each table.
2NF - Meet all the rules of 1NF; Remove any partial dependencies with primary keys or columns and set them into their own tables; Connect these tables with foreign keys (relationships).
3NF - Meet the rules of 2NF; Remove the columns which aren't reliant of the primary key.
Rarely used rules:
4NF - Meet the rules of 3NF; Remove any multivalued dependencies.
5NF - Meet the rules of 4NF; Reduce excess data of join dependency.