Introduction
Normalization helps organize data in a database to avoid mistakes and save space.
Normalization helps organize data in a database to avoid mistakes and save space.
-- Normalization is a design process, not a single SQL command. -- It involves organizing tables and relationships step-by-step.
-- Example of unnormalized table: CREATE TABLE Orders ( OrderID INT, CustomerName VARCHAR(100), ProductName VARCHAR(100), Quantity INT );
-- After normalization, split into two tables: CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(100) ); CREATE TABLE Orders ( OrderID INT PRIMARY KEY, CustomerID INT, ProductName VARCHAR(100), Quantity INT, FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) );
This example shows how normalized tables keep customer info separate and link orders to customers.
-- Create Customers table CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(100) ); -- Create Orders table CREATE TABLE Orders ( OrderID INT PRIMARY KEY, CustomerID INT, ProductName VARCHAR(100), Quantity INT, FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); -- Insert sample data INSERT INTO Customers VALUES (1, 'Alice'); INSERT INTO Customers VALUES (2, 'Bob'); INSERT INTO Orders VALUES (101, 1, 'Apples', 5); INSERT INTO Orders VALUES (102, 1, 'Bananas', 3); INSERT INTO Orders VALUES (103, 2, 'Oranges', 4); -- Query to get orders with customer names SELECT Orders.OrderID, Customers.CustomerName, Orders.ProductName, Orders.Quantity FROM Orders JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
Normalization reduces data duplication, which helps prevent mistakes when updating data.
It can make your database easier to maintain and understand.
Sometimes, too much normalization can make queries slower, so balance is important.
Normalization organizes data to avoid repetition and errors.
It splits data into related tables connected by keys.
This makes data easier to update, saves space, and keeps it accurate.
Customers(customer_id, name, address)Orders(order_id, customer_id, product)OrderID, CustomerName, CustomerAddress, Product. To normalize it, which step should you take?Pass the test and this pattern moves unknown