Normalization Practice Worksheet (1NF, 2NF, 3NF)
Question 1: Identifying Normal Forms
Relation:
StudentCourses(StudentID, Name, Courses)
Functional Dependencies:
• StudentID → Name
• StudentID → Courses
Tasks:
1. Explain why this relation is not in 1NF.
2. Convert it to 1NF.
3. Is the resulting 1NF relation in 2NF? Justify your answer.
4. If not in 2NF, normalize it to 2NF.
Question 2: From 1NF to 2NF
Relation:
OrderDetails(OrderID, ProductID, ProductName, Quantity, CustomerID, CustomerName)
Functional Dependencies:
• (OrderID, ProductID) → Quantity, CustomerID, CustomerName, ProductName
• ProductID → ProductName
• CustomerID → CustomerName
Tasks:
1. Identify the primary key of the relation.
2. List all partial dependencies present.
3. Normalize the relation into 2NF. Show the resulting relations with their attributes and
keys.
Question 3: 2NF vs 3NF
Relation:
DepartmentEmployee(DepartmentID, DeptName, EmployeeID, EmpName, Salary, ManagerID,
ManagerName)
Functional Dependencies:
• DepartmentID → DeptName, ManagerID, ManagerName
• ManagerID → ManagerName
• EmployeeID → EmpName, Salary, DepartmentID
Tasks:
1. Is this relation in 2NF? Justify your answer.
2. Identify any transitive dependencies.
3. Normalize the relation to 3NF. Show all final relations with primary keys.
Question 4: Full Normalization Exercise
Relation:
Invoice(InvoiceNo, Date, CustomerID, CustName, CustCity, ProductID, ProdName, Price, Qty,
Total)
Functional Dependencies:
• InvoiceNo → Date, CustomerID, CustName, CustCity
• CustomerID → CustName, CustCity
• ProductID → ProdName, Price
• (InvoiceNo, ProductID) → Qty
• Total is a derived attribute (Price × Qty)
Tasks:
1. Bring the relation to 1NF. Explain any changes made.
2. Normalize the 1NF relation to 2NF. Show all intermediate relations.
3. Normalize the 2NF relations to 3NF.
4. List all final relations, indicating primary keys and foreign keys.
Question 5: Theoretical & Short Answer
Answer the following briefly:
1. What is the main requirement for a table to be in First Normal Form (1NF)?
2. Define partial dependency. How does it violate Second Normal Form (2NF)?
3. Define transitive dependency. How does it violate Third Normal Form (3NF)?
4. Can a table be in 3NF without being in 2NF? Explain why or why not.
5. Provide an example of a transitive dependency in a database relation.
Question 6: Detecting Normal Forms from Functional Dependencies
Relation:
R(A, B, C, D)
Functional Dependencies:
• A→B
• B→C
• A→D
Candidate Key: A
Tasks:
1. Is relation R in 1NF? Explain.
2. Is R in 2NF? Justify your answer.
3. Is R in 3NF? Explain with reference to the functional dependencies.
4. If R is not in 3NF, decompose it into a set of 3NF relations. Show the resulting relations
and their functional dependencies.