aimnova.
DashboardMy LearningPaper MasteryStudy 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
  • Flashcards
  • Revision Guide
  • Exam Skills
  • Command Terms
  • Grade Calculator
  • Exam Timetable 2026

Aimnova

  • Features
  • Pricing
  • For Schools
  • For Parents
  • About Us
  • Blog
  • Contact
aimnova.

AI-powered study platform for smarter revision, past-paper analysis and examiner-style feedback.

TermsPrivacyCookies·© 2026 Aimnova. All rights reserved.8afc4e3

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

NotesComputer ScienceTopic 3.2
Unit 3 · Databases · Topic 3.2

IB Computer Science — Database design

Database design

Exam technique guidePractice questions

Key concepts in Database design

Key Idea: Database design means deciding what tables exist and what rules the database will enforce. Normalisation removes the redundancy that makes data go wrong. Denormalisation puts some back — deliberately, for speed.

Paper 1

  • Definitions, keys, normal forms.
  • Identify the dependency; state the form broken.

Paper 2

  • A scenario to design or normalise.
  • Construct an ERD, tables, or SQL.

Both

  • Name the dependency, not just the normal form.
  • Every design choice needs a justification.

⚠️ The three anomalies

These are the reason normalisation exists. Learn all three by name.

AnomalyWhat happens
UpdateA repeated fact changed in one row and missed in another leaves two conflicting values
InsertionA fact cannot be recorded because the row it would need does not exist yet
DeletionRemoving a row destroys information that had nothing to do with it

📐 The normal forms

FormRequiresThe fault it removes
1NFEvery field holds a single atomic valueRepeating groups and lists in a field
2NFIn 1NF, and no field depends on part of a composite keyPartial dependency
3NFIn 2NF, and no field depends on another non-key fieldTransitive dependency
Every field depends on the key, the whole key, and nothing but the key. A partial dependency only exists when the key is composite. A transitive dependency is a field describing another field rather than the key.
Important: Saying 'it breaks 2NF' earns one mark. Saying 'ProductName depends on ProductID, which is only part of the key — a partial dependency' earns the rest.

🔒 Constraints and indexes

Why constraints belong in the schema

  • Several programs, scripts and people write to the same data
  • A check in one program is not a check at all — one omission lets bad data in permanently
  • A schema constraint applies to every write, including a direct edit years later
It holds a column's values sorted with pointers, turning a full scan into a direct lookup. But it must be updated on every write, and it costs storage — so a table with six indexes pays that price six times on every insert.

⚖️ Denormalisation

NormalisedDenormalised
Each fact storedOnceMore than once, deliberately
UpdatingOne rowEvery copy — or they disagree
ReadingNeeds joinsNo join
SuitsMany concurrent writersRead-heavy reporting

📝 Exam-style questions

IB-style questionIdentify[4 marks]

A table Booking(BookingID, RoomID, RoomType, RoomRate, GuestName) has BookingID as its primary key. Identify the normal form it breaks, naming the dependency, and give the corrected tables.

🔒 Model answer plan

See the mark-by-mark plan — for / against / judgement, with marking guidance — in study mode.

Claim your free topic →
IB-style questionSuggest[3 marks]

A reporting database is rebuilt from scratch every night and read continuously all day. Suggest whether it should be denormalised, justifying your answer.

🔒 Model answer plan

See the mark-by-mark plan — for / against / judgement, with marking guidance — in study mode.

Claim your free topic →

✅ Quick check

Cover the answers.

A table has a single-field primary key. Can it break 2NF? No. A partial dependency needs part of a composite key, so 2NF is automatic.

What is a transitive dependency? A non-key field depending on another non-key field — e.g. RoomRate depending on RoomID.

Name the three anomalies. Update, insertion and deletion.

What does adding an index cost? Storage, plus extra work on every insert, update and delete — it must be kept in step.

Why do constraints belong in the schema rather than the application? Several programs write to the same data; a check in one of them is not a check at all.


Exam tips

  • Name the dependency, not just the normal form it breaks.
  • A partial dependency requires a composite key — check the key before claiming one.
  • A transitive dependency is a field describing another FIELD rather than the key.
  • Always leave a foreign key behind when you move fields to a new table.
  • Denormalisation is justified by a read-heavy workload with few writers — say so explicitly.
  • Indexes speed reads and slow writes. Both halves earn marks.

What you'll learn in Topic 3.2

  • 3.2.1 Database schemas
  • 3.2.2 ERDs
  • 3.2.3 Data types
  • 3.2.4 Building tables
  • 3.2.5 Normal forms
  • 3.2.6 Normalising to 3NF
  • 3.2.7 Denormalisation
Suggested study order: Read the notes for each sub-topic below → test yourself with flashcards → attempt practice questions → review exam technique.

Study resources — 3.2 Database design

3.2.1

Database schemas

Notes
3.2.2

ERDs

Notes
3.2.3

Data types

Notes
3.2.4

Building tables

Notes
3.2.5

Normal forms

Notes
3.2.6

Normalising to 3NF

Notes
3.2.7

Denormalisation

Notes

Ready to study Database design?

Get expert practice questions with instant AI feedback, and a study planner tailored to your IB Computer Science exam date.

Start studying free

Topic 3.2 Database design forms a core part of Unit 3: Databases in IB Computer Science. Mastering these concepts will strengthen your understanding of connected topics across the syllabus and prepare you for exam questions that require analysis, evaluation, and real-world application.

Previous topic
3.1 Database fundamentals
Next topic
3.3 Database programming
All Computer Science topics
Exam technique

Ready to practice?

Get AI-graded practice questions, mock exams, flashcards, and a personalised study plan — all aligned to your IB syllabus.

Start Studying Free

No credit card required · No time limit