Reducing redundancy by splitting a table
Splitting a table so repeated details move into their own table, linked back with a foreign key, so each fact is stored only once and redundancy is reduced.
Understanding Reducing redundancy by splitting a table in QCE Digital Solutions Unit 3
What it does: Teacher details live in the subjects table only, so one query on that table shows each fact stored once. The foreign key equals the primary key in the ON condition, so the split tables are linked back together without storing repeated data. Links use keys. Matching text can be misspelt or duplicated, while a primary key identifies exactly one row. Nothing is lost. A query can join the tables on the key whenever the full picture is needed. Splitting a table starts by moving the repeated details into their own table with a primary key. This is the redundancy problem that splitting a table fixes.
Common mistakes: The new teachers table needs a primary key so other tables can link back to each teacher. Line 2 should be ' id INTEGER PRIMARY KEY,'. teacherId links each subject to a row in teachers, so it must be a FOREIGN KEY. The subjects table already has its own primary key (id). Line 4 should be ' FOREIGN KEY (teacherId)'.
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 15–119) and word search (Modules 15–176).
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
normalisationFill in the Blanks
Spot the Error
Student with a class code? Join your class →