0
0
DBMS Theoryknowledge~10 mins

Third Normal Form (3NF) in DBMS Theory - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Third Normal Form (3NF)
Start with a Table
Check 1NF: Atomic values?
Yes
Check 2NF: No partial dependency?
Yes
Check 3NF: No transitive dependency?
Yes
Table is in 3NF
No
Remove transitive dependencies
Result: Table in 3NF
The flow shows starting from a table, ensuring it meets 1NF and 2NF, then checking for transitive dependencies to achieve 3NF.
Execution Sample
DBMS Theory
Table: Student
Columns: StudentID, Name, DeptID, DeptName

Check 3NF: DeptName depends on DeptID, not StudentID
This example shows a table where DeptName depends on DeptID, a non-key attribute, causing transitive dependency violating 3NF.
Analysis Table
StepCheckConditionResultAction
1Check 1NFAre all values atomic?YesProceed to 2NF
2Check 2NFAny partial dependency on part of primary key?NoProceed to 3NF
3Check 3NFAny transitive dependency (non-key depends on non-key)?YesTable not in 3NF
4Remove transitive dependencySeparate DeptName into Dept tableNow DeptName depends only on DeptIDTable is in 3NF
💡 After removing transitive dependencies, the table meets 3NF requirements.
State Tracker
VariableStartAfter Step 3After Step 4
Table StructureStudentID, Name, DeptID, DeptNameSame (transitive dependency exists)StudentID, Name, DeptID; DeptID, DeptName (separated)
DependencyDeptName depends on DeptID (non-key)Detected transitive dependencyRemoved by splitting tables
Key Insights - 2 Insights
Why is DeptName depending on DeptID a problem for 3NF?
Because DeptName depends on a non-key attribute (DeptID), it creates a transitive dependency, which violates 3NF as shown in execution_table step 3.
What does removing transitive dependency mean in practice?
It means splitting the table so that non-key attributes depend only on the primary key, as shown in execution_table step 4 where DeptName is moved to a separate table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3, what is the condition checked?
AIs there any partial dependency?
BIs there any transitive dependency?
CAre all values atomic?
DIs the table empty?
💡 Hint
Refer to the 'Check 3NF' row in execution_table which checks for transitive dependency.
According to variable_tracker, what changes after step 4?
ATable structure splits to remove transitive dependency
BTable adds more columns
CPrimary key changes to DeptName
DNo change in dependencies
💡 Hint
Look at the 'Table Structure' row in variable_tracker after step 4.
If DeptName depended directly on StudentID, what would happen in step 3?
ATransitive dependency would still exist
BPartial dependency would be detected
CThere would be no transitive dependency
D1NF would fail
💡 Hint
Transitive dependency means a non-key depends on another non-key, so direct dependency on primary key avoids it.
Concept Snapshot
Third Normal Form (3NF):
- Table must be in 2NF first.
- No transitive dependencies allowed.
- Non-key attributes depend only on primary key.
- Remove transitive dependencies by splitting tables.
- Ensures data consistency and reduces redundancy.
Full Transcript
Third Normal Form (3NF) is a database design rule that ensures tables have no transitive dependencies. Starting from a table, we first check if it meets First Normal Form (1NF) by having atomic values, then Second Normal Form (2NF) by having no partial dependencies. Next, we check for transitive dependencies where a non-key attribute depends on another non-key attribute. If such dependencies exist, the table is not in 3NF. To fix this, we split the table to remove transitive dependencies, ensuring all non-key attributes depend only on the primary key. This process improves data integrity and reduces redundancy.