Simply, database normalisation is a process used for data modelling or database creation, where you organise your data and tables so it can be added and updated efficiently.
It can be done on any relational database, where data is stored in tables that are linked to each other. This means that normalization in a DBMS (Database Management System) can be done in Oracle, Microsoft SQL Server, MySQL, PostgreSQL and any other type of database. For this project we would be using Oracle SQL Developer.
- To prevent the same data from being stored in more than one place (called an “insert anomaly”)
- To prevent updates being made to some data but not others (called an “update anomaly”)
- To prevent data not being deleted when it is supposed to be, or from data being lost when it is not supposed to be (called a “delete anomaly”)
- Essentially, to make the datbase more efficient, reducing storage space, ensuring queries run smoothly....to remove anomalies. (You get it right?)
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Boyce-Codd Normal Form (BCNF)
- Fourth Normal Form (4NF)
- Fifth Normal Form (5NF)
But for this project we would be going up till the Third Normal Form (3NF). It is the most commonly used.
We'll be using a customer orders table for this project. Here is a snippet of what we are working with; pg1, pg2