Know and understand the characteristics of good form design and how it integrates with the wider database processes of creating structures, manipulating data and presenting information. This objective covers:
| Term (syllabus wording) | Definition | Example (Students & Enrolments) |
|---|---|---|
| Table | A collection of related records (rows) stored together. | Students – one record per pupil. |
| Field (column) | A single piece of data that describes an attribute of a record. | StudentID, FirstName, DOB, Email |
| Data type (field type) | Specifies the kind of data a field can hold (text, number, date, Boolean, etc.) and any size limits. | StudentID – AutoNumber (numeric, 9‑digit limit)DOB – Date |
| Primary key | A unique identifier for each record in a table; must contain no null values. | StudentID in the Students table (created as AutoNumber). |
| Foreign key | A field that links a record to the primary key of another table, establishing a relationship. | StudentID in the Enrolments table. |
| Relationship type | Describes how two tables are linked:
| Students ↔ Enrolments is a one‑to‑many relationship. |
| Aspect | Flat‑file (e.g., CSV) | Relational (e.g., Access, LibreOffice Base) |
|---|---|---|
| Data storage | All data in a single table; repeated information (redundancy). | Data split into related tables; each fact stored once. |
| Data integrity | Hard to enforce; easy to create duplicate or inconsistent records. | Primary‑key/foreign‑key constraints prevent duplicates and orphan records. |
| Scalability | Becomes unwieldy as the number of fields grows. | Can handle many tables and complex queries efficiently. |
| Typical use in IGCSE | Importing a simple list of contacts. | Managing a school database with separate Students, Enrolments and Classes tables. |
A form is a user‑interface object that allows data to be entered, edited or retrieved from a database. In the IGCSE context forms are built with the “Form” object in Microsoft Access, LibreOffice Base or similar software.
| Element | Purpose | Best practice (AO2) – linked to a practical task |
|---|---|---|
| Title / Heading | Identifies the purpose of the form | Insert a bold, centred heading such as “Student Registration”. (Task: create a form with an appropriate title.) |
| Labels | Describe each field | Place to the left or directly above the control and associate it with the control (e.g., label “Date of Birth” linked to the date picker). (Task: add correctly associated labels.) |
| Input controls | Collect data | Choose the control that matches the field’s data type; set MaxLength and input mode where relevant. (Task: set a 10‑character limit for a “Postcode” field.) |
| Mandatory indicator | Shows required fields | Use a red asterisk (*) and include a legend “* = required”. (Task: mark “First name”, “Surname” and “DOB” as mandatory.) |
| Help text / tooltips | Provide guidance | One‑line hint that appears on hover/focus, e.g., “Enter a valid email address”. (Task: add a tooltip to the Email field.) |
| Submit / Reset buttons | Action controls | Label clearly (“Save”, “Clear Form”) and place at the bottom right. (Task: create a “Save” button that writes the record to the table.) |
| Error messages | Inform about validation failures | Place immediately below the offending control; use plain language and suggest a correction. (Task: display “Enter a date between 01‑01‑2000 and today” for an out‑of‑range DOB.) |
Consider a form that omits a mandatory‑field indicator, uses a free‑text box for “Gender” and places the “Submit” button at the top left.
00/00/0000 for dates) and “Validation Text” for custom messages.TotalPrice = Quantity × UnitPrice in an Orders table.Students should be able to retrieve specific records using criteria. The following examples use SQL‑like syntax, which matches the IGCSE specification.
| Operation | Purpose | Example |
|---|---|---|
| Simple query | Find all students in Year 10 | SELECT * FROM Students WHERE Year = 10; |
| Combined criteria (AND/OR) | Find Year 10 students who live in “London” | SELECT * FROM Students WHERE Year = 10 AND City = 'London'; |
| Pattern matching (LIKE) | Find surnames starting with “Mc” | SELECT * FROM Students WHERE Surname LIKE 'Mc%'; |
| Range query | Find enrolments between 1‑Sept‑2023 and 31‑Aug‑2024 | SELECT * FROM Enrolments WHERE EnrolDate BETWEEN #2023-09-01# AND #2024-08-31#; |
Student Attendance – Term 1
Header: “ABC Academy – Attendance Summary – Term 1”
Grouped by Class, showing total days present per student and a class subtotal.
Footer: “Page 1 of 3 – Confidential – Generated 04‑Jan‑2026”.
| Topic | Relevant Database Issue | Practical tip for IGCSE |
|---|---|---|
| File Management | Choosing the correct file format for the database (e.g., .accdb, .sdb, .csv). | Store the master database in a protected folder; back‑up regularly. |
| E‑safety & Data Protection | Handling personal data (names, DOB, contact details) in forms and reports. | Include a privacy notice; restrict file access with passwords; avoid printing unnecessary personal details. |
| Security | Preventing SQL injection or accidental data corruption. | Validate all input, limit field lengths, and never concatenate raw user input into SQL statements. |
| AO | What the student must demonstrate | Relevant note sections |
|---|---|---|
| AO1 | Recall terminology (table, field, primary key, validation, relationship types, flat‑file vs. relational, etc.) and describe the purpose of each component. | Section 1 (Database Structure), Section 2 (Form Design Characteristics) |
| AO2 | Design a table, create a form that reflects that table, apply appropriate validation, import a CSV file, run a query, and produce a simple report. | Sections 1–6 (structure, form design, data‑type limits, import/export, queries, reports) |
| AO3 | Evaluate the effectiveness of the database solution (form usability, data integrity, security, accessibility) and suggest concrete improvements. | Section 2.4 (Design Checklist), Section 2.5 (Sample evaluation), Section 7 (Cross‑topic reminders), Section 8 (AO mapping) |
A typical form layout: a centred bold title at the top, followed by grouped sections such as “Personal Details” and “Contact Details”. Within each group, labels are left‑aligned and input controls are right‑aligned in a two‑column grid. Mandatory asterisks appear in red beside required labels. At the bottom centre sits a “Save” button; a “Clear Form” button is placed to its left. The tab order follows the visual order from top‑left to bottom‑right.
Good form design is one pillar of a functional database system. By first establishing a clear table structure with appropriate primary‑key/foreign‑key relationships and understanding the differences between flat‑file and relational databases, students can build forms that capture high‑quality data. Adhering to the characteristics of clarity, logical flow, validation, accessibility and security ensures reliable data entry. Combined with skills in importing/exporting, querying, sorting, updating, and reporting, learners can meet all three assessment objectives of the Cambridge IGCSE ICT 0417 syllabus.
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources, past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.