Software Engineering › Key terms › Y12 Programming for the Web › Primary key and foreign key
Primary key and foreign key
Code pattern Y12 Programming for the Web
Definition
A primary key uniquely identifies each record in a table; a foreign key is a field that holds another table's primary key to link the tables.
Example: ClassID is the primary key of Class and a foreign key in Student.
Found in: course specifications, school notes.
Where it is used in the test
Syllabus area: Y12 Programming for the Web.
Question types it can appear in
- Multiple choice: Pick the option that matches the definition or example.
- Fill in the blanks: Choose this term to complete a statement or table.
- Drawing: ERD
- SQL: Write or read it in the SQL query tool.
Where it has appeared in the paper
Programming for the Web (Part C); The Software Engineering Project (Part A). Part letters follow each paper’s own layout.
Related past questions
- Familiarisation Q12b (3 marks): SQL (joins, AS) Programming for the Web (Part C) · 3 marks
- 2025 HSC Q15a (3 marks): Data dictionary The Software Engineering Project (Part A) · 3 marks
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Study links
- Flashcard: Primary key and foreign key in Programming for the Web (Year 12) · study that set
- Memorise: SQL vs ORM
How to use it in an answer
A model sentence
Code pattern: “A primary key uniquely identifies each record in a table; a foreign key is a field that holds another table's primary key to link the tables.” Then apply it: ClassID is the primary key of Class and a foreign key in Student.
In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.
Technique for the question types
- Multiple choice: Read all four options, rule out wrong ones, pick one; no penalty for guessing so never leave blank.
- Fill in the blanks: Choose the right word from a list; use exact syllabus terms.
- Drawing: Use the online drawing tool: label every symbol and arrow, use the correct symbols from the specification, and add every required item.
- SQL: Use SELECT, FROM, WHERE, GROUP BY, ORDER BY in order; put text in quotes; combine conditions with AND or OR; name the right tables.
What the marking guidelines and feedback say
Know the data dictionary columns: Variable, Data type, Format for display, Size in bytes, Size for display, Description, Example, Validation.
Worked answers from the marking guidelines
Familiarisation Q12b (3 marks): SQL (joins, AS) (3 marks): criteria and sample answer
Criteria
3: Correct SQL query. 2: Substantially correct query with at least TWO of: renaming the columns; selecting the three tables; joining the tables. 1: Some understanding of renaming the columns or joining the tables.
Sample answer
SELECT Customers.CustName as 'Customer', Products.ProductName as 'Product', Orders.OrderQuantity as 'Quantity' FROM Products, Customers, Orders WHERE Orders.ProductID = Products.ProductID AND Orders.CustID = Customers.CustID ORDER BY Orders.OrderID ASC
Common mistakes
- Drawing questions (2025 HSC exam Q22): refine attributes into separate inherited classes; use appropriate class diagram symbols.
- SQL questions (2025 HSC exam Q21): query must run; quotation marks around data being searched; use OR/AND in WHERE; correct GROUP BY and ORDER BY fields.
- Use the term exactly as the syllabus words it, then link it to the scenario in the question; the 2025 feedback repeatedly rewards using the stimulus.
- Answer the command word: outline gives main points only, explain gives a reason or cause, discuss gives both sides.
Related terms
Same group in the syllabus: Shell commands (mkdir, cd, touch, cp, rm, cat, grep) · SQL SELECT · SQL WHERE · SQL ORDER BY · SQL GROUP BY · SQL aggregate functions (COUNT, SUM, AVG) · SQL JOIN · SQL alias (AS) · SQL constraints · Object-relational mapping (ORM) · Service worker · Web app manifest · CRUD