DoRevision Sign up free

Table Talk

Speak database fluently: tables, records, fields, primary and foreign keys — and why splitting data into linked tables kills redundancy and inconsistency.

⏱️ 9 min 🎯 14 activities Teachers Not yet rated Students Not yet rated

Revise this, the fun way

Play it interactively, earn XP and build a streak — free.

Start revising free

What you'll cover

Table Talk 🗄️

A **database** is an organised, persistent store of data. A **relational** database keeps that data in **tables** that can be linked together. To talk about them you need five words exactly right — **table, record, field, primary key, foreign key** — and to explain why splitting data across tables is worth it. Let's get fluent.

Tables, records and fields 📊

Picture a **Students** table. Its shape gives you three of the words: • A **table** holds data about one kind of thing (all the students). • A **field** is a **column** — one attribute, like *FirstName*. • A **record** is a **row** — all the data about **one** student.

Find the record

An interactive activity.

What is a field?

In a database table, what is a **field**?

  • A column — one attribute of every record
  • A row — one whole record
  • The whole table
  • A single cell

The primary key 🔑

Every record needs to be told apart from the others. A **primary key** is a field whose value is **unique** for every record — no two records can share it. In Students, **StudentID** is the primary key: names might repeat, but every student's id is one of a kind.

Find the primary key

An interactive activity.

Why not FirstName?

Why would **FirstName** be a poor choice of primary key?

  • Two students could share the same first name — it is not unique
  • Names are too short to store
  • A primary key has to be a number
  • Names are private data

Linking tables: the foreign key 🔗

The power of *relational* databases is **linking** tables. A **foreign key** is a field in one table that refers to the **primary key** of another. A separate **Grades** table can hold a **StudentID** field — a foreign key pointing back to the Students table's primary key. That link connects each grade to exactly one student, without copying their name and tutor group into every grade.

Match the term

  • Table
  • Record
  • Field
  • Primary key
  • Foreign key
  • A collection of related records
  • One row — all data about one thing
  • One column — a single attribute
  • A field that uniquely identifies each record
  • A field linking to another table's primary key

Why bother splitting the data? ♻️

Storing everything in one giant table causes two linked problems: • **Redundancy** — the same data stored over and over (every grade row repeating a student's full name and tutor group). • **Inconsistency** — when those copies disagree. Change a student's tutor group in one row but miss another, and the database now holds two different answers. Splitting into linked tables (Students + Grades, joined by a key) stores each fact **once**, so it can never disagree with itself.

Name the problems

Storing the same fact many times is _____; when those copies disagree the data has become _____. Linking tables by a key stores each fact once and avoids both.

redundancy inconsistent faster encrypted

Spot the problem

A shop keeps ONE big table and writes the customer's full address on every order row. A customer moves house. What is the main problem?

  • The address is duplicated on many rows, so an update can leave copies disagreeing
  • The table runs out of column space
  • Orders can no longer be sorted by date
  • The table cannot have a primary key

Why relational wins

Pick the TWO benefits of splitting data into linked relational tables.

  • Less redundancy — each fact is stored once
  • Avoids inconsistency when data changes
  • Makes the database files much bigger
  • Removes the need for any keys

In the exam 🎓

Fluent now. Grade-9 habits for relational databases: • Nail the vocabulary: **table** (related records), **record** (row), **field** (column), **primary key** (unique id), **foreign key** (links tables). • A primary key must be **unique**; a foreign key holds another table's primary key to **link** them. • Explain **redundancy** and **inconsistency** with a **concrete duplicated-data example** — the duplicated address updated in one place but not another.