Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Explain why a given set of database tables are, or are not, in 3NF
Learning Objective/s:
  • Describe functional dependencies and candidate keys in relational tables.
  • Apply the 3NF test to determine whether a table satisfies Third Normal Form.
  • Analyse given tables and identify any violations of 3NF.
  • Decompose tables that violate 3NF into relations that satisfy the normal form.
  • Use a checklist to verify that all resulting tables are in 3NF.
Materials Needed:
  • Projector and screen
  • Whiteboard and markers
  • Printed handouts of the COURSE_OFFERING, LECTURER, and ENROLLMENT tables
  • Worksheet with functional‑dependency and 3NF exercises
  • Laptops with a simple DBMS or spreadsheet software
  • Sticky notes for group brainstorming
Introduction:

Begin with a quick poll: “When you hear ‘normal form’, what comes to mind?” Connect to students’ prior work on functional dependencies and 2NF. Explain that today they will learn a concrete test for 3NF and see how to fix tables that fail it. Success will be measured by correctly analysing and, if needed, decomposing a sample table.

Lesson Structure:
  1. Do‑Now (5'): Students list all functional dependencies they recall from the previous lesson.
  2. Mini‑lecture (10'): Review definition of 3NF, superkeys, and prime attributes with examples.
  3. Guided analysis (15'): Whole‑class walk‑through of the COURSE_OFFERING table, identifying candidate key, checking each FD against the 3NF criteria, and discussing the violation.
  4. Group activity (15'): In pairs, students examine the LECTURER and ENROLLMENT tables, determine candidate keys, and confirm 3NF compliance.
  5. Decomposition practice (10'): Teams redesign COURSE_OFFERING into two tables (COURSE_OFFERING and ROOM) and justify the change.
  6. Check for understanding (5'): Quick exit ticket – “Write one rule that must hold for every FD in a 3NF table.”
Conclusion:

Recap the 3NF test and the importance of eliminating transitive dependencies. Collect exit tickets and highlight common misconceptions. For homework, assign a worksheet where students must identify violations and propose decompositions for three new tables.