Third normal form (3NF)
A table in 2NF where no non-key field depends on another non-key field. Every field depends on the key, the whole key and nothing but the key.
Understanding Third normal form (3NF) in WA Computer Science ATAR Unit 2
What it does: A non-key determinant such as Postcode breaks the 'nothing but the key' rule, so its dependent field is split out. Normalisation is a sequence: partial dependencies are removed at 2NF, then transitive dependencies at 3NF. That is the definition of 3NF. It builds on 2NF and then removes dependencies between non-key fields. Postcode determines Suburb and neither is the key. This is a transitive dependency, so Postcode and Suburb should move to their own table. 1NF is about the key, 2NF is about the whole key, and 3NF adds 'nothing but the key', so non-key fields cannot depend on each other.
Common mistakes: suburb depends on postcode, which is a non-key field. That is a transitive dependency, so suburb must not stay in Customer. Line 3 should be 'Fields: name, postcode'. suburb depends on studentId only through postcode (studentId -> postcode -> suburb). That is a transitive dependency, not a direct one. Line 3 should say suburb depends via postcode.
Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.
This module's key terms are also in a printable crossword (Modules 28–122) and word search (Modules 28–266).
Take this worksheet further — free with Cloodit
Each concept is reinforced from every angle — learned, then applied, then tested.
Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.
Over 100 of them, across seven natural biomes.
Turns their work into revision material ready for Flash Cards and Exam study.
Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.
Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.
Quick Questions
Match the Pairs
Key Term
3NFFill in the Blanks
Spot the Error
Student with a class code? Join your class →