DP-900 · 2 Identify considerations for relational data on Azure
Normalization
Exam objective: Describe normalization and why it is used
Normalization is a schema design process that splits data into tables by entity and attribute, and links them with primary and foreign keys, to remove duplicate data.
Normalization is the process of designing a schema that avoids storing the same fact twice and keeps each value where it belongs. Picture one spreadsheet that lists every order, with the customer name, address, product name and price repeated on every line. If a customer moves, you have to find and update every one of their rows.
Normalization fixes this with a few rules: put each entity, such as customer, product or order, into its own table, and put each attribute into its own column. Give each row a primary key, a value that identifies it uniquely within its table. When one entity needs to reference another, store the related row's primary key as a foreign key instead of repeating its details. An order row can hold a CustomerID foreign key instead of the customer's full address.
Sometimes one column is not unique enough to serve as a key on its own, so you combine two or more columns into a composite key, such as an OrderID and an ItemNo together identifying a single line item.
On the exam, look for talk of removing duplicate data, splitting a table by entity, or linking rows with a primary or foreign key.
Key points
- Normalization separates each entity into its own table and each attribute into its own column.
- A primary key uniquely identifies every row within its own table.
- A foreign key stores the primary key value of a related row in another table, creating the link between them.
- Normalizing data removes duplicated values, so updating one fact means changing only one row.
- A composite key combines two or more columns when no single column is unique enough on its own.
Exam trap
Normalization can look like it just means "more tables", but the real point is removing duplication. If a customer's address is repeated on every one of their orders, moving it to its own customer row means a single update fixes it everywhere.
Check yourself
An Order table includes a CustomerID column that stores the primary key value of the related row in the Customer table. What is CustomerID in the Order table called?
Go deeper on Microsoft Learn
Checked against Microsoft Learn on October 1, 2026.