What is Third Normal Form (3NF) in database design?
Third Normal Form (3NF) is a database design rule that ensures a table is free from transitive dependencies. This means every non-key column depends only on the primary key, not on other non-key columns.
Click to reveal answer
beginner
What does it mean for a table to have transitive dependency?
A transitive dependency occurs when a non-key column depends on another non-key column, which in turn depends on the primary key. This can cause redundancy and update problems.
Click to reveal answer
intermediate
Which normal form must a table satisfy before it can be in 3NF?
A table must be in Second Normal Form (2NF) before it can be in Third Normal Form (3NF). 2NF means no partial dependency on a part of a composite key.
Click to reveal answer
beginner
Why is Third Normal Form important in databases?
3NF reduces data duplication and improves data integrity by ensuring that non-key columns depend only on the primary key, making the database easier to maintain and update.
Click to reveal answer
intermediate
Give a simple example of a transitive dependency that violates 3NF.
If a table has columns: StudentID (primary key), StudentName, DepartmentName, and DepartmentHead, and DepartmentHead depends on DepartmentName (a non-key column), then DepartmentHead depends transitively on StudentID through DepartmentName, violating 3NF.
Click to reveal answer
Which of the following best describes Third Normal Form (3NF)?
ANo transitive dependencies; non-key columns depend only on the primary key
BNo partial dependencies; all columns depend on the whole primary key
CNo duplicate rows in the table
DAll columns are atomic and indivisible
✗ Incorrect
3NF requires that non-key columns depend only on the primary key, eliminating transitive dependencies.
Before a table can be in 3NF, it must be in which normal form?
A2NF
B1NF
CBCNF
D4NF
✗ Incorrect
A table must be in Second Normal Form (2NF) before it can be in Third Normal Form (3NF).
What problem does 3NF mainly address in database tables?
ANon-atomic columns
BPartial dependencies
CDuplicate rows
DTransitive dependencies
✗ Incorrect
3NF removes transitive dependencies to reduce redundancy and improve data integrity.
Which of these is an example of a transitive dependency?
AStudentID → StudentName
BStudentID → DepartmentName → DepartmentHead
CStudentID → CourseID
DStudentID → StudentAddress
✗ Incorrect
DepartmentHead depends on DepartmentName, which depends on StudentID, creating a transitive dependency.
What is a benefit of having a database in 3NF?
AFaster queries always
BNo need for backups
CReduced data redundancy and easier updates
DMore columns in each table
✗ Incorrect
3NF reduces data duplication and makes updates easier by organizing data properly.
Explain Third Normal Form (3NF) and why it is important in database design.
Think about how columns relate to the primary key and to each other.
You got /4 concepts.
Describe a real-life example where a transitive dependency might occur and how 3NF would fix it.
Consider a table with student info and department info mixed.
You got /3 concepts.
Practice
(1/5)
1. What is the main goal of the Third Normal Form (3NF) in database design?
easy
A. To ensure no non-key column depends on another non-key column
B. To remove all duplicate rows from a table
C. To combine multiple tables into one
D. To allow NULL values in all columns
Solution
Step 1: Understand 3NF definition
3NF requires that every non-key column depends only on the primary key, not on other non-key columns.
Step 2: Compare options with 3NF goal
Only To ensure no non-key column depends on another non-key column correctly states this goal. Other options describe different concepts.
Final Answer:
To ensure no non-key column depends on another non-key column -> Option A
Quick Check:
3NF = No transitive dependency [OK]
Hint: 3NF removes transitive dependencies between non-key columns [OK]
Common Mistakes:
Confusing 3NF with removing duplicates
Thinking 3NF merges tables
Believing 3NF allows NULLs everywhere
2. Which of the following functional dependencies violates the Third Normal Form (3NF)?
easy
A. PrimaryKey -> NonKeyColumn
B. NonKeyColumn1 -> NonKeyColumn2
C. PrimaryKey -> CompositeKey
D. PrimaryKey -> ForeignKey
Solution
Step 1: Identify 3NF violation
3NF disallows non-key columns determining other non-key columns (transitive dependency).
Step 2: Analyze each dependency
NonKeyColumn1 -> NonKeyColumn2 shows a non-key column determining another non-key column, violating 3NF.
Final Answer:
NonKeyColumn1 -> NonKeyColumn2 -> Option B
Quick Check:
Transitive dependency = 3NF violation [OK]
Hint: Watch for non-key to non-key dependencies breaking 3NF [OK]
Common Mistakes:
Assuming all dependencies from primary key violate 3NF
Confusing foreign keys with functional dependencies
Ignoring transitive dependencies
3. Consider a table with columns StudentID (primary key), AdvisorName, and AdvisorOffice. If AdvisorName determines AdvisorOffice, which of the following is true about this table regarding 3NF?
medium
A. The table is in 3NF because StudentID is the primary key
B. The table violates 3NF because AdvisorOffice depends on StudentID
C. The table is in 3NF because AdvisorOffice depends on AdvisorName
D. The table violates 3NF due to transitive dependency
Solution
Step 1: Identify dependencies
StudentID -> AdvisorName and AdvisorName -> AdvisorOffice shows a transitive dependency.
Step 2: Check 3NF rules
3NF disallows non-key columns (AdvisorName) determining other non-key columns (AdvisorOffice).
Final Answer:
The table violates 3NF due to transitive dependency -> Option D
Quick Check:
Transitive dependency breaks 3NF [OK]
Hint: Check if non-key columns determine others to spot 3NF violation [OK]
Common Mistakes:
Thinking primary key alone ensures 3NF
Ignoring transitive dependencies
Confusing direct and transitive dependencies
4. A table has columns OrderID (primary key), CustomerName, and CustomerCity. The dependency CustomerName -> CustomerCity exists. What is the problem with this table in terms of 3NF, and how can it be fixed?
medium
A. Violates 3NF; fix by splitting into two tables separating customer info
B. No problem; table is already in 3NF
C. Violates 3NF; fix by adding CustomerCity to primary key
D. No problem; just rename columns
Solution
Step 1: Identify 3NF violation
CustomerName -> CustomerCity is a transitive dependency violating 3NF.
Step 2: Fix violation by normalization
Split table into Orders and Customers tables to separate customer details.
Final Answer:
Violates 3NF; fix by splitting into two tables separating customer info -> Option A
Quick Check:
Split tables to remove transitive dependencies [OK]
Hint: Split tables to remove non-key to non-key dependencies [OK]
Common Mistakes:
Adding columns to primary key incorrectly
Ignoring transitive dependencies
Thinking renaming fixes normalization
5. You have a table with columns EmployeeID (primary key), DepartmentID, DepartmentName, and ManagerID. DepartmentID determines DepartmentName and ManagerID. How should you redesign the table to achieve Third Normal Form (3NF)?
hard
A. Keep all columns in one table because EmployeeID is primary key
B. Add DepartmentName and ManagerID to EmployeeID primary key
C. Create two tables: one for Employees and one for Departments with DepartmentID as key
D. Remove ManagerID column to fix 3NF
Solution
Step 1: Identify transitive dependencies
DepartmentID -> DepartmentName and ManagerID means non-key columns depend on another non-key column.
Step 2: Normalize by splitting tables
Create separate Department table with DepartmentID as key to remove transitive dependencies.
Final Answer:
Create two tables: one for Employees and one for Departments with DepartmentID as key -> Option C
Quick Check:
Split tables to remove transitive dependencies [OK]
Hint: Separate dependent columns into new table keyed by determinant [OK]
Common Mistakes:
Keeping all columns in one table ignoring transitive dependency
Adding columns to primary key unnecessarily
Removing important columns instead of normalizing
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.