Second normal form (2NF)
A table in 1NF where no non-key field depends on only part of a composite key. Remove any partial dependency by splitting those fields into a new table.
Understanding Second normal form (2NF) in WA Computer Science ATAR Unit 2
What it does: productName depends only on productId, so it goes in its own table whose primary key is productId. studentName can be found from studentId alone, so it depends on only part of the composite key. That is a partial dependency and breaks 2NF. A single-field key cannot be split into parts. A table in 1NF with a single-field primary key is therefore already in 2NF. Normal forms build on each other. A table must be in 1NF before it can be in 2NF.
Common mistakes: stuName depends only on stuId, which is part of the composite key. That is a partial dependency, so it breaks 2NF. Result should hold only mark, which depends on the whole key. The line should be ' mark INT,' and stuName should go in a Student table. A partial dependency needs a composite key. The key of Enrolment is the two fields together, so line 2 should be 'Key: (stuId, subId)'. With a single-field key, stuId -> name would not be partial.
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
2NFFill in the Blanks
Spot the Error
Student with a class code? Join your class →