← ACARA Digital Technologies Years 7–8

Direct and indirect identifiers

A direct identifier, like a name or email, points to one person alone. An indirect identifier, like suburb, age or school, only identifies someone when combined with other details.

Understanding Direct and indirect identifiers in ACARA Digital Technologies Years 7–8

What it does: Each detail is shared by many people, but all three together may match only one student, so the person could be found. Dropping the name column removes a direct identifier. Indirect identifiers still need to be checked after this. It points to one person by itself, so it is a direct identifier. A 13-year-old at a small school might be the only one who matches. Combining indirect details can find a person.

Common mistakes: An email address points to one person by itself, so it is a direct identifier. Line 2 should be kind = "direct". A postcode is shared by many people, so it only identifies someone when combined with other details. It is an indirect identifier, so line 3 should be kind = "indirect".

Class: _____________________  ·  Name: _____________________  ·  Date: _________

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 728–751) and word search (Modules 696–770).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
Which one is a direct identifier?
A student's year levelA student's full name
Matches
Direct identifier: yearLevel = 8
↓
Year level is an indirect identifier, not a direct one. Many students share it, so it does not point to one person alone.
Applying
Meanings
Term
direct and indirect identifiers
Meaning
A direct identifier, like a name or email, points to one person alone. An indirect identifier, like suburb, age or school, only identifies someone when combined with other details.
Practice
SELECT firstName, yearLevel, house
Testing
Gaps
SELECT FROM students;
Check Answer
Spots
1field = "email"
2kind = "indirect"

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Chambered Nautilus' badge — File Explorer, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. Which one is a direct identifier?
A. A student's full name ✓
B. A student's year level
A full name can point to one person by itself. A year level is shared by many students, so it is only an indirect identifier.
2. Which one is an indirect identifier?
A. Postcode ✓
B. Email address
Many people share a postcode, so it does not point to one person alone. An email address is usually unique to one person, so it is direct.
3. True or false: An email address like ava.nguyen@school.edu.au is a direct identifier.
A. True ✓
B. False
It points to one person by itself, so it is a direct identifier.
4. Which statement about indirect identifiers is correct?
A. They can never be used to identify anyone
B. They can identify someone when combined with other details ✓
Details like age, suburb and school are shared by many people. Put them together and the group shrinks until only one person fits.
5. A dataset has only age and school. Which is more accurate?
A. Both are indirect, so no one can ever be found
B. Combining them could narrow it down to one student ✓
A 13-year-old at a small school might be the only one who matches. Combining indirect details can find a person.

Match the Pairs

email = "ava.nguyen@mail.com" → A direct identifier that points to one person by itself
postcode = 3350 → An indirect identifier that only helps identify someone when combined with other details
Combining indirect details such as age, school and suburb can narrow a group down to one person → age = 13 AND school = "Hill High" AND suburb = "Ballarat"
A name column is a direct identifier, so it is removed to protect privacy → ALTER TABLE students DROP COLUMN firstName;
Direct identifier: yearLevel = 8 → Year level is an indirect identifier, not a direct one. Many students share it, so it does not point to one person alone.
Safe to share: name removed, but birth date + suburb + school kept → Removing the name is not enough. Birth date, suburb and school are indirect identifiers that can be combined to find one person.

Key Term

direct and indirect identifiers
A direct identifier, like a name or email, points to one person alone. An indirect identifier, like suburb, age or school, only identifies someone when combined with other details.

Fill in the Blanks

1. SELECT lastName FROM students;
Hint: Type the column that stores a student's family name, which is a direct identifier that points to one person.
2. SELECT yearLevel, house FROM students;
Hint: Type the column that stores a student's school grade, an indirect identifier that shares a value with many people.
3. SELECT house, yearLevel FROM students WHERE yearLevel = 7;
Hint: Type the keyword that filters rows by a detail, narrowing the group of possible people.
4. SELECT firstName FROM students WHERE house = 'Red' AND yearLevel = 7;
Hint: Type the keyword that makes both details true at once, so combining details narrows down to fewer people.
5. SELECT COUNT(*) FROM students WHERE yearLevel = 7 AND house = 'Red';
Hint: Type the function that counts matching rows. A result of 1 means the combined details point to one person.

Spot the Error

Question 1
A field = "email"
B kind = "indirect"
C print(field, kind)
Line B — An email address points to one person by itself, so it is a direct identifier. Line 2 should be kind = "direct".
Question 2
A field = "postcode"
B alone = False
C kind = "direct"
D print(field, kind)
Line C — A postcode is shared by many people, so it only identifies someone when combined with other details. It is an indirect identifier, so line 3 should be kind = "indirect".
Question 3
A direct = ["name", "suburb"]
B indirect = ["age", "school"]
C print(len(direct))
Line A — A suburb is shared by many people, so it is an indirect identifier. The direct list should hold name and email, so line 1 should be direct = ["name", "email"].
Question 4
A fields = ["name", "age"]
B if "name" in fields:
C print("Indirect identifier")
Line C — The check finds a name, which points to one person alone. The message on line 3 should say Direct identifier.
Question 5
A details = ["age" "suburb", "school"]
B count = len(details)
C if count >= 3:
D print("Could identify one")
Line A — There is a comma missing between "age" and "suburb". Line 1 should be details = ["age", "suburb", "school"].

Student with a class code? Join your class →