aımnova
DashboardMy LearningCrash CoursesStudy Plan

Aimnova site navigation

Stay in the loop

Get the latest study resources and updates

New features, study tips and exam insights — straight to your inbox.

IB Diploma

  • IB Past Papers
  • IB Study Notes
  • IB Question Bank
  • IB Mock Exams
  • IB Revision

IB Subjects

  • IB Math AA
  • IB Math AI
  • IB Economics
  • IB Business Management
  • IB Physics
  • IB Biology
  • View all IB subjects→

IB Past Papers

  • IB Math AA HL Past Papers
  • IB Math AA SL Past Papers
  • IB Math AI HL Past Papers
  • IB Math AI SL Past Papers
  • IB Economics HL Past Papers
  • IB Economics SL Past Papers
  • IB ESS Past Papers
  • View all past papers→

Study Resources

  • Study Notes
  • Question Bank
  • Mock Exams
  • Crash Courses
  • Flashcards
  • Revision Guide
  • Exam Skills
  • Command Terms
  • Grade Calculator
  • Exam Timetable 2026

Aimnova

  • Features
  • Pricing
  • For Teachers
  • For Schools
  • For Parents
  • About Us
  • Blog
  • Contact
aımnova

IB study, practice and feedback built around the real exam.

TermsPrivacyCookies·© 2026 Aimnova. All rights reserved.c1e448f

Aimnova is not affiliated with or endorsed by the International Baccalaureate Organization (IB).

NotesComputer Science HLTopic 3.2Normalising to 3NF
Back to Computer Science HL Topics
3.2.64 min read

Normalising to 3NF (Computer Science HL)

IB Computer Science · Unit 3

Exam preparation

Practice the questions examiners actually ask

Our question bank mirrors real IB exam papers. Practice under timed conditions and track your progress across topics.

Start Practicing

Contents

  1. 1A method you can follow every time
  2. 2The four steps
  3. 3Worked through: a hospital
  4. 4Exam-style question
The big idea: Normalising is not guesswork. It is the same four steps on any scenario.

List the data, make it atomic, remove partial dependencies, remove transitive ones. Follow them in order and 3NF falls out.
Do it on paper first: Write out a few sample rows with real values before touching tables.

Dependencies are much easier to see in actual data than in a list of column names.

Free preview

This is the free notes preview

You're reading the free notes. Aimnova Pro unlocks the full study experience — and you can try it with your first topic free to keep:

  • FlashcardsLock in vocabulary and key terms with spaced repetition.
  • Practice questionsAnswer exam-style questions and get instant AI marking.
  • Mock exams & past-paper vaultSit full mocks and see exactly how examiners award marks.
  • Personalised study planA daily plan built around your exam date and weak areas.
Start Studying Free Full access to Aimnova Pro · cancel anytime

The four steps run end to end on a school scenario. Follow the same route on any other.

Interactive diagram

Explore the labelled diagram, charts and maps for this topic in full study mode.

Claim your free topic
1

1 — List every piece of data

Read the scenario and write down every fact it mentions, in one wide table with a few sample rows.

Do not organise yet. You are only making sure nothing is missing.

2

2 — Reach 1NF

Split any cell holding a list into separate rows, and remove repeating groups of columns.

Then decide the primary key. If no single column is unique, it becomes composite — which is where step 3 starts to matter.

3

3 — Reach 2NF

Take each non-key column and ask: does it depend on the whole key, or just part of it?

Anything depending on part moves out, into a table keyed on that part. Skip this step entirely if the key is a single column.

4

4 — Reach 3NF

In every table, ask whether any non-key column determines another non-key column.

If so, both move to a new table, and the determining column stays behind as a foreign key.

Then check it backwards: Take a fact you know the scenario needs — "which room does Mr Pinto use" — and follow the keys to find it.

If you cannot get there, a link is missing. If you find it twice, you are not in 3NF yet.

Feeling unprepared for exams?

Get a clear study plan, practice with real questions, and know exactly where you stand before exam day. No more guessing.

Get Exam Ready FreeYour first topic is free to keep • No credit card required
The scenario: The hospital records which doctor saw which patient, on what date, in which ward, and which consultant heads that ward.

One wide table, and a few sample rows to reason over.
1

The unnormalised table

PatientID, PatientName, DoctorID, DoctorName, VisitDate, WardID, WardName, ConsultantName.

A patient seen three times appears on three rows, with their name and ward written out each time.

2

1NF and the key

Every cell already holds one value. No single column identifies a row: the same patient can be seen twice, and the same doctor sees many patients.

The key becomes PatientID, DoctorID and VisitDate together.

3

2NF — the partial dependencies

PatientName depends on PatientID alone; DoctorName on DoctorID alone. Both are parts of the key, so both move out.

Left behind: a Visit table of PatientID, DoctorID, VisitDate and WardID.

4

3NF — the transitive dependency

WardName and ConsultantName depend on WardID, which is not a key of the Visit table.

So a Ward table takes WardID, WardName and ConsultantName, and Visit keeps WardID as a foreign key.

The finished design: Patient (PatientID, PatientName) · Doctor (DoctorID, DoctorName) · Ward (WardID, WardName, ConsultantName) · Visit (PatientID, DoctorID, VisitDate, WardID).

Every fact now appears once. Change a ward's consultant and you change one row.

How this is tested — you must show the tables at each stage, with the keys marked. It comes up two ways:

Paper 1 Section A

  • Construct a 3NF design from a scenario, 5-8 marks
  • Show the tables and identify every key
  • Justify a move you made

Paper 1 Section B — case study

  • Normalise the case study's data
  • Explain what problem each step removed
The classic trap: Jumping straight to a set of tables. Marks are awarded for the stages — showing 1NF, then 2NF, then 3NF — so a correct final answer with no working can still lose most of them.
IB-style questionConstruct[6 marks]

A shop records: OrderID, OrderDate, CustomerID, CustomerName, ProductID, ProductName, UnitPrice, Quantity. Construct a design in 3NF.

Model answer plan

See the answer broken into clear points, with guidance on how each point earns marks.

Claim your free topic

Try an IB Exam Question — Free AI Feedback

Test yourself on Normalising to 3NF. Write your answer and get instant AI feedback — just like a real IB examiner.

why normalisation increases the number of tables in a database. [2 marks]

Related Computer Science HL Topics

Continue learning with these related topics from the same unit:

3.1.1Relational databases3.2.1Database schemas3.2.2ERDs3.2.3Data types
View all Computer Science HL topics
Improve your exam techniqueCommand terms, paper structure, and mark-scheme tips for Computer Science HL
Previous3.2.5Normal formsNextDenormalisation3.2.7

26 practice questions on Normalising to 3NF

Students who practiced this topic on Aimnova scored 82% on average. Try free practice questions and get instant AI feedback.

Try 3 Free QuestionsView All Computer Science HL Topics