CIE IGCSE | TOPIC 9 ASSESSMENT
DATABASES: END OF TOPIC REVIEW
Assess database structure, field types, primary keys and SQL through recall, applied queries and written explanations. Work independently before revealing feedback.
BEFORE YOU BEGIN
Suggested time: 50–70 minutes, or split into two sessions. Complete sections A and B without notes. Write section C answers in your exercise book before revealing the marking guidance.
Sections A and B provide an automatic score out of 24, one point for each fully correct item. Section C has 34 suggested written marks, assessed separately. These are original practice questions, not an official Cambridge paper or grade boundary.
Use the source tables to check query outputs. Write SQL statements and explanations in your exercise book. State assumptions and show working where a question requires it. Your answers remain only while this page is open.
C | EXAM-STYLE WRITING
Write in your exercise book before revealing the guidance. Section C assesses subject knowledge and gives you practice expressing it clearly. The first table reproduces the command-word meanings supplied from the Cambridge syllabus. The second gives practical writing guidance for this review.
| CIE command word | Meaning from the specification |
|---|---|
| Calculate | work out from given facts, figures or information |
| Compare | identify/comment on similarities and/or differences |
| Define | give precise meaning |
| Demonstrate | show how or give an example |
| Describe | state the points of a topic / give characteristics and main features |
| Evaluate | judge or calculate the quality, importance, amount, or value of something |
| Explain | set out purposes or reasons / make the relationships between things clear / say why and/or how and support with relevant evidence |
| Give | produce an answer from a given source or recall/memory |
| Identify | name/select/recognise |
| Outline | set out the main points |
| Show (that) | provide structured evidence that leads to a given result |
| State | express in clear terms |
| Suggest | apply knowledge and understanding to situations where there are a range of valid responses in order to make proposals / put forward considerations |
The command applies to the subject context. A brief identification does not need an essay; an explanation needs accurate links. Use the guidance below for the commands in this written review.
| Command word | What your answer should do | Useful writing pattern |
|---|---|---|
| Describe | State the main features or relevant points; for a process, make the sequence clear. | First… Next… Finally… |
| Explain | Give reasons, purposes or clear relationships, supported by relevant subject knowledge. | …because…; therefore…; resulting in…; leading to… |
| Compare | Identify similarities and/or differences, addressing both things on the same basis. | Both…; whereas…; unlike… |
| Evaluate | Make a reasoned judgement about suitability or value in the given context. | A benefit is…; however…; therefore, for this purpose… |
| Calculate | Work out a result using the supplied data. | Show the relevant values and arithmetic. |
| Show (that) | Provide structured evidence leading to the stated result. | Trace intermediate states, then link them to the result. |
| Suggest | Apply knowledge to propose a valid solution or test. | State a proposal and relate it to the requirement. |
BUILD A CLEAR EXPLANATION
Point → reason or mechanism → consequence. Connectives help show the relationship, but the technical link must be accurate. Adding “because” to an unsupported claim does not make it a good explanation.
Thin answer: “The count changes.”
Developed answer: “The count increases by one only after an input is accepted because rejected attempts must not represent extra accepted scores, therefore invalid retries do not inflate the final count.”
Use because or because of to introduce a cause; therefore, resulting in or leading to to show a consequence. For comparison, use both and whereas. For evaluation, use however and finish with a justified judgement.
Write enough relevant detail for the marks available. Clear, concise sentences are better than padding. These are writing supports, not compulsory phrases or separate official language marks.
25 | STRUCTURE AND RECORD MEANING
[4 suggested marks]
Using Equipment, define a field and a record, giving one example of each. Then explain why five records does not mean five individual available units.
A field describes one attribute, such as Units. A record is all the values for one model, such as E001, Camera, Media, 3. Each row represents a model, so its Units value may describe several available units.
- Precise field definition: one mark.
- Suitable field example: one mark.
- Record definition with complete row example: one mark.
- Model-versus-unit distinction: one mark.
Writing focus: Use precise definitions, then because or therefore to link record meaning to the count.
26 | DATA TYPES AND VALIDATION
[4 suggested marks]
An equipment-loan table stores LoanCode such as “0072”, BorrowDate and Returned, which has exactly two states. identify a suitable type for each field and explain why a type check alone does not prove that the entered borrowing date is accurate.
LoanCode uses text/alphanumeric to retain its identifier representation. BorrowDate uses date/time. Returned uses Boolean. Even a valid date value may differ from the actual borrowing date, so verification against a reliable source is also needed.
- Text/alphanumeric for LoanCode: one mark.
- Date/time for BorrowDate: one mark.
- Boolean for Returned: one mark.
- Valid type does not prove real-world accuracy: one mark.
Writing focus: Name each type clearly, then connect the limitation to an example of an inaccurate but valid value.
27 | CHOOSE AN IDENTIFIER
[4 suggested marks]
A Loans table has one record per loan. A student can make several loans and equipment can be loaned repeatedly. Fields include LoanID, StudentID, EquipmentID and BorrowDate. LoanID is assigned uniquely and required. explain why LoanID is suitable, and why the other three fields individually are unsuitable.
LoanID is required and unique, so it distinguishes each loan record. StudentID repeats for a student’s different loans; EquipmentID repeats when the equipment is loaned again; BorrowDate repeats when several loans occur on the same date.
- LoanID unique and required: one mark.
- StudentID can repeat: one mark.
- EquipmentID can repeat: one mark.
- BorrowDate can repeat: one mark.
Writing focus: Link each field’s repeatability to the meaning of a loan record. Do not merely label the fields unsuitable.
28 | AND COMPARED WITH OR
[4 suggested marks]
Using Equipment, compare Category = 'Robotics' AND Units > 1 with Category = 'Robotics' OR Units > 1. Identify the qualifying models and explain the difference.
AND requires both tests and returns Robot Kit only. OR requires at least one test and returns Camera, Microphone, Robot Kit and Controller. Robot Kit satisfies both but is returned once.
- AND requires both: one mark.
- Correct AND model: one mark.
- OR accepts either or both: one mark.
- Correct OR models: one mark.
Writing focus: Use a shared comparison point, then illustrate it with records. Include whereas or because to explain the changed result.
29 | COMPLETE A SORTED QUERY
[4 suggested marks]
demonstrate an SQL query returning Model and Units for Media equipment with at least one unit, sorted by Units from largest to smallest. state its output.
One valid query follows. The output is Camera, 3, followed by Microphone, 2. Tripod fails the availability condition.
SELECT Model, Units FROM Equipment WHERE Category = 'Media' AND Units >= 1 ORDER BY Units DESC;
- SELECT fields and FROM table: one mark.
- Correct category and inclusive availability condition combined with AND: one mark.
- ORDER BY Units DESC: one mark.
- Correct output and order: one mark.
Writing focus: Write the complete query, then present only the requested columns in the specified order.
30 | COUNT AND TOTAL
[4 suggested marks]
calculate COUNT(*) and SUM(Units) for all Equipment records, showing the addition. Then explain why the two answers describe different things.
COUNT(*) is 5 model records. SUM(Units) is 3 + 2 + 4 + 0 + 1 = 10 available units. Counting rows measures the number of catalogue models, whereas summing Units measures the available quantity across those models.
- Count 5: one mark.
- Correct addition: one mark.
- Sum 10: one mark.
- Distinct meaning of models and available units: one mark.
Writing focus: Show working and label the units of meaning. Explain the difference rather than only quoting two numbers.
31 | VALIDATION AND VERIFICATION
[4 suggested marks]
The system requires Units to be a non-negative INTEGER. A user enters 3 when the original inventory sheet says 2. evaluate whether the validation rule is enough to ensure accurate data, and suggest a verification method.
Three passes the type and non-negative rule, but it differs from the source. Validation is useful for rejecting impossible values such as a negative count, yet it is insufficient for accuracy. Compare the entry with the inventory sheet, or use independent double entry with mismatch checking.
- Three passes the stated rule: one mark.
- Difference from source means inaccurate entry: one mark.
- Reasoned judgement about useful but insufficient validation: one mark.
- Suitable contextual verification method: one mark.
Writing focus: Give a judgement supported by the scenario. Use although and therefore to connect benefit and limitation.
32 | DESIGN AND QUERY A LOAN TABLE
[6 suggested marks]
A club stores one row per equipment loan. It needs a unique LoanID, a StudentCode that retains leading zeros, BorrowDate and Returned (TRUE or FALSE). suggest suitable field types and a primary key. Then demonstrate an SQL query counting loans where Returned is FALSE. explain why COUNT is suitable and why StudentCode alone is unsuitable as the key.
LoanID can be an assigned unique required text identifier (an assigned INTEGER ID is also valid). StudentCode uses text/alphanumeric; BorrowDate uses date/time; Returned uses Boolean. Select LoanID as the primary key. The query below assumes the DBMS supports FALSE as a Boolean literal; FALSE is not quoted as text. COUNT(*) counts unreturned loan records rather than adding identifiers. StudentCode repeats when the same student borrows again.
SELECT COUNT(*) FROM Loans WHERE Returned = FALSE;
- Suitable LoanID type and primary-key selection with required uniqueness: one mark.
- Text StudentCode preserving zeros: one mark.
- Date/time BorrowDate and Boolean Returned: one mark.
- Correct SELECT COUNT(*) FROM Loans: one mark.
- WHERE Returned = FALSE with explanation of counting loans: one mark.
- StudentCode repeatability explained: one mark.
Writing focus: Connect each design choice to its requirement. State assumptions where SQL Boolean literal syntax depends on the database.
CHECK YOUR WRITTEN COMMUNICATION
- Did I answer the command word, rather than just name facts?
- For explain, did I show an accurate reason or cause-and-effect link?
- For compare, did I address both things on the same point?
- For evaluate, did I weigh relevant factors and justify my judgement?
- Did I use precise terms and connectives naturally, without repeating or padding?
Self-assess using the suggested content marks, keeping the written total separate from your automatic score. Use the writing checklist to improve an answer rather than adding unofficial language marks.
YOUR NEXT REVISION STEP
Submit sections A and B for targeted lesson links.
Keep your automatic and written marks separate. Pick two weak areas, revisit their lessons and attempt a fresh query or explanation. Use the Topic 9 revision page for complete coverage, worked examples and a selectable flashcard list. These original practice scores are not official grade predictions.