Study Guides
Cambridge A Level Information Technology (ICT): Database and file concepts (9626)
Study guide for Cambridge AS & A Level IT 9626 topic 10: keys, relationships, ERDs, queries, forms, reports, normalisation and file access.
- Subject
- ICT
- Level
- AS LEVEL
- Topic
- Database and file concepts
- Author
- Marlbridge Academic Team
- Updated
Aligned to Cambridge A Level Information Technology (9626), 2025-2027. Official specification .
Syllabus page (what it covers and how it is assessed): Cambridge A Level Information Technology.
Syllabus points this page covers
9626 (AS Level)
- 10 Database and file concepts (whole topic)
Found an error? Report a correction.
Need help with this topic? Request a free trial class for A Level Information Technology (9626).
This study guide covers topic 10, Database and file concepts, of Cambridge International AS & A Level Information Technology (9626), following the syllabus for examination in 2025, 2026 and 2027 (version 3), sections 10.1 to 10.4. Topic 10 is an AS Level topic, so it is in both the AS and the full A Level. Paper 1 (Theory) is based on sections 1–11 and Paper 2 (Practical) on sections 8–11, so you can meet this topic in both. Paper 4 (Advanced Practical) may also include tasks from sections 8–10.
This guide teaches ideas and skills, not menus. Course hub: Cambridge A Level ICT. Checklist: 9626 checklist. Validation check types are taught with topic 1 in the Data Processing and Information study guide. Find your gaps with a free 10-minute diagnostic.
What this topic covers
All sections are AS Level.
| Section | What you must be able to do |
|---|---|
| 10.1 | Data types and field sizes; relationships; key fields; referential integrity; flat file vs relational |
| 10.1 | Create relationships, ERDs, tables and keys; validate and verify; queries; calculations; sorting |
| 10.1 | Forms, reports, switchboards; import and export |
| 10.2 | Describe UNF, 1NF, 2NF and 3NF; normalise to 3NF; weigh up normalisation |
| 10.3 | Identify data types; describe and create a data dictionary |
| 10.4 | File types and formats; indexed sequential and direct access; DBMS types; MIS |
10.1 Data types and field sizes
| Data type | Holds | Example field | Field size idea |
|---|---|---|---|
| Text | Characters, never calculated with | Surname | Longest likely entry, e.g. 30 |
| Alphanumeric | A mix of letters and digits | Postcode, StudentID | Exact length, e.g. 4 for S104 |
| Numeric: integer | Whole numbers | Minutes | Integer |
| Numeric: decimal | Numbers with a fractional part | Weight (kg) | Set decimal places, e.g. 1 |
| Date | A calendar date | LessonDate | Date format, e.g. dd/mm/yyyy |
| Time | A time of day | StartTime | Time format, e.g. hh:mm |
| Boolean | One of two values | Paid (Yes/No) | Two values only |
Store a phone number as text: it is never calculated with, and a leading zero would be lost. Set field sizes to fit every real value but block silly ones.
Relationships and key fields
- One-to-one: one record links to exactly one record in another table (each student has one locker).
- One-to-many: one record links to many (one teacher teaches many courses).
- Many-to-many: many students take many courses. This cannot be stored directly, so add a link table (Enrolment) with a one-to-many relationship to each side.
Key fields:
- Primary key: unique for every record, such as StudentID.
- Foreign key: the primary key of another table, used to link to it.
- Composite key: two or more fields that together form the primary key, because none is unique alone.
- Compound key: textbooks use this term in slightly different ways; the usual distinction is a composite key in which each field is a key in its own right in another table, like StudentID + CourseCode in Enrolment.
Referential integrity means every foreign key value must match an existing primary key value. The database refuses a lesson for student S999 if S999 is not in the Student table, and refuses to delete a student who still has lessons (unless deletions cascade). This stops orphan records that point at nothing and would make queries and reports wrong.
Flat file or relational database?
A flat file holds everything in one table: quick to set up and fine for one small list, such as a club’s contact sheet. A relational database splits data into linked tables. It suits data about several linked things: each fact is stored once, so there is less redundancy and data stays consistent. The cost is more design time and more complex queries.
Entity relationship diagrams (ERDs)
| ERD type | Shows |
|---|---|
| Conceptual | Entities and the relationships between them only |
| Logical | Adds attributes, primary keys and foreign keys |
| Physical | Adds what is built: table and field names, data types and field sizes |
In crow’s foot notation, a plain end means one and a forked end means many:
TEACHER ──────< COURSE ──────< ENROLMENT >────── STUDENT
One teacher teaches many courses; each course and each student has many enrolments. The link table turns Student–Course many-to-many into two one-to-many relationships.
To create a relational database: build each table with fields, data types and sizes; set the primary key; join each primary key to its matching foreign key (same data type) and switch on referential integrity.
Validating and verifying data entry
A validation rule is checked as data is entered, for example “Minutes is 30, 45 or 60” or “StudentID is S then three digits”, with clear error text. Test it with normal data (accepted), extreme boundary data (accepted) and abnormal data (rejected), recording expected and actual results. Verification checks data was entered accurately: a visual check against the source, or double entry compared by the computer.
Queries, calculations and sorting
Worked example: predicting query results
The Lesson table of a music school:
| LessonID | StudentID | Instrument | LessonDate | Minutes | Fee | Paid |
|---|---|---|---|---|---|---|
| L01 | S104 | Piano | 03/03/2026 | 30 | 15 | Yes |
| L02 | S117 | Guitar | 03/03/2026 | 60 | 28 | No |
| L03 | S104 | Piano | 10/03/2026 | 30 | 15 | No |
| L04 | S122 | Violin | 11/03/2026 | 45 | 21 | Yes |
| L05 | S117 | Guitar | 17/03/2026 | 60 | 28 | Yes |
| L06 | S131 | Piano | 18/03/2026 | 60 | 30 | No |
| L07 | S122 | Violin | 25/03/2026 | 45 | 21 | No |
| L08 | S131 | Drums | 31/03/2026 | 30 | 14 | Yes |
- Simple query: Instrument = “Piano”. Result: L01, L03, L06.
- Complex query, AND: Paid = No AND Minutes >= 45. Paid = No gives L02, L03, L06, L07; L03 has only 30 minutes. Result: L02, L06, L07.
- OR: Instrument = “Violin” OR “Drums”. Result: L04, L07, L08.
- NOT: NOT “Piano” AND Paid = Yes. Result: L04, L05, L08.
- Wildcard: Instrument like “G*”, where * stands for any characters (the wildcard symbol depends on the software). Result: L02, L05.
- Date range: LessonDate >= 10/03/2026 AND <= 24/03/2026. Result: L03, L04, L05, L06.
Choosing a query type
| Query type | Use it when |
|---|---|
| Simple | One criterion on one field |
| Complex | Several criteria joined by AND, OR, NOT |
| Static parameter | The criterion is fixed in the design, e.g. Paid = No for a weekly unpaid list |
| Dynamic parameter | The user types the value each run, e.g. a prompt “Enter instrument” |
| Nested | A query uses the results of another query |
| Summary | Totals, counts or averages per group |
| Cross-tab | One field down the side, another across the top, like a pivot table |
A cross-tab of total Fee by Instrument and Paid:
| Instrument | Yes | No |
|---|---|---|
| Drums | 14 | |
| Guitar | 28 | 28 |
| Piano | 15 | 45 |
| Violin | 21 | 21 |
Unpaid total: 28 + 15 + 30 + 21 = 94. Pivot tables are in the Spreadsheets study guide.
Action queries change data: make-table creates a new table from results (an archive of old lessons); append adds results to an existing table; delete removes matching records; update changes values in matching records (raise all Guitar fees). To remove duplicates, run a find-duplicates query on fields that should be unique together (name and date of birth), check each pair, then delete the extra copies.
Calculations and sorting
A calculated field is made in a query from other fields: FeePerHour = Fee ÷ Minutes × 60. L01: 15 ÷ 30 × 60 = 30; L04: 21 ÷ 45 × 60 = 28. A calculated control on a form or report works out a displayed value, such as a sum of Fee in a report footer. Numeric functions (round, integer) and logical functions (IF Paid = No, show “Overdue”) also work.
Sorting is ascending or descending, on one or more fields. Instrument ascending, then Fee descending, gives L08 (Drums), L02 and L05 (Guitar), then L06 (Piano, 30) before L01 and L03.
Forms, reports and menus
A good data entry form has a clear font style and size, sensible spacing and white space, boxes big enough to show each whole value, and highlighted key fields. Use radio buttons for a few fixed choices (Paid) and drop-down menus for longer lists (Instrument). Form controls include buttons to save or move between records. A linked subform shows the “many” records for the current “one” record, such as a student’s lessons.
A grouped report lists records under group headings (by Instrument), with controls for labels and fields and calculated controls for group totals. A switchboard/menu is a start-up form of buttons opening forms, queries and reports, so users never open tables.
Import csv and txt files by stating the delimiter, whether row 1 holds field names, and each field’s data type. Export a table, query or report, as csv, txt or rtf (rtf keeps basic formatting).
10.2 Normalisation to 3NF
| Form | Characteristics |
|---|---|
| UNF | Contains repeating groups of fields |
| 1NF | No repeating groups; each field holds one value; every record has a primary key |
| 2NF | In 1NF, and no non-key field depends on only part of a composite key |
| 3NF | In 2NF, and no non-key field depends on another non-key field |
Worked example
UNF: Student(StudentID, StudentName, {CourseCode, CourseName, TeacherID, TeacherName, Grade}). The braces mark a repeating group.
- 1NF: move the repeating group to its own table, taking the original key. Student(StudentID, StudentName); StudentCourse(StudentID, CourseCode, CourseName, TeacherID, TeacherName, Grade).
- 2NF: CourseName, TeacherID and TeacherName depend on CourseCode alone (part of the key). Grade depends on both. Split: Enrolment(StudentID, CourseCode, Grade); Course(CourseCode, CourseName, TeacherID, TeacherName).
- 3NF: TeacherName depends on TeacherID, a non-key field. Split: Course(CourseCode, CourseName, TeacherID); Teacher(TeacherID, TeacherName).
Result: four tables, matching the ERD above.
Advantages: less redundant data and storage; each fact updated in one place, so fewer inconsistencies. Disadvantages: more tables; queries need joins, so they are more complex and can run slower; design takes longer.
10.3 Data dictionary
10.3 adds currency and percentage to the data types above; Boolean may be called logical (yes/no, true/false). A data dictionary records, for every field: table, field name, data type, field size, format, key, validation rule, error text, default value, whether required, and a description.
| Field | Type | Size/format | Key | Validation |
|---|---|---|---|---|
| StudentID | Alphanumeric | 4 | Primary | S then three digits |
| Fee | Currency | 2 d.p. | >= 0 | |
| Paid | Boolean | Yes/No |
10.4 File and data management
File types match content: csv and txt for plain data, rtf for formatted text, pdf for fixed documents, jpg and png for images, mp3 for audio, mp4 for video. Generic formats (csv, txt, rtf) open in many programs, so data moves between different software. Proprietary formats belong to one company, such as Photoshop’s psd. Open-source formats have a public specification anyone may use, so files stay readable without one company’s software.
Indexed sequential access: records are stored in key order with an index of key ranges. A program reads every record in order (a payroll run) or uses the index to jump to the right area, then searches sequentially. Direct file access: a hashing algorithm turns the key into a storage address, so one record is found at once (key 4527, 100 blocks: 4527 mod 100 = 27). It suits single lookups such as a booking enquiry.
| DBMS type | Structure | For | Against |
|---|---|---|---|
| Hierarchical | Tree; each child has one parent | Fast on fixed paths | Many-to-many hard; rigid |
| Network | Records may have several parents | Handles many-to-many | Complex to change |
| Object-oriented | Objects hold data and methods | Complex data, e.g. multimedia | Less standard |
| Relational | Linked tables | Flexible queries | Joins slow huge queries |
A management information system (MIS) turns data from an organisation’s systems into summaries, reports and charts for managers. Features: data from many sources, regular and on-demand reports, comparisons over time. Organisations use it to monitor performance, spot trends and plan.
Common errors
- Making a phone number numeric.
- Calling 2NF “no transitive dependencies” (that is 3NF).
- Confusing a calculated field (query) with a calculated control (form or report).
Next steps
Use the revision notes, then the practice questions.
Official syllabus
Cambridge International AS & A Level Information Technology 9626, syllabus for examination in 2025, 2026 and 2027, version 3, Cambridge University Press & Assessment. Topic 10: Database and file concepts (10.1 Creating a database; 10.2 Normalisation to third normal form (3NF); 10.3 Data dictionary; 10.4 File and data management).
Get free revision emails (optional)
Occasional emails with practice questions, worked explanations and links to free resources for the qualification and subjects you choose. No spam, and you can unsubscribe from any email. The free tools on this site never need an email.
Related resources
-
Practice questions
Cambridge A Level Information Technology (ICT): Database and file concepts (9626) – Practice Questions
Original practice questions with marked answers for Cambridge AS & A Level IT 9626 Database and file concepts: queries, 3NF and file access.
ICT · Cambridge · AS Level
Try questions -
Revision notes
Cambridge A Level Information Technology (ICT): Database and file concepts (9626) – Revision Notes
Revision notes for Cambridge AS & A Level IT 9626 Database and file concepts: keys, query types, normal forms, data dictionaries and DBMS types.
ICT · Cambridge · AS Level
Revise topic -
Study guides
Cambridge A Level Information Technology (ICT): eSecurity (9626)
Study guide for Cambridge AS & A Level IT 9626 topic 5, eSecurity: personal data, phishing, pharming, firewalls, malware types and prevention.
ICT · Cambridge · AS Level
Read guide
Related articles
-
teaching
A Level tuition in Dubai: Cambridge or Pearson Edexcel International A Level?
Schools in Dubai and Abu Dhabi teach either Cambridge International AS & A Level or Pearson Edexcel International A Level. How the two are structured, why it matters for tuition, and how online classes from Lahore work.
9 October 2026
-
curriculum guides
Choosing subjects at IGCSE and A Level
How subject choices at 14 and 16 affect university options later, and how to keep pathways open without overloading a timetable.
28 July 2026
Studying this with a teacher
Working through ICT AS LEVEL?
This page is free and stays free. If you would rather be taught it, Marlbridge runs ICT classes one-to-one and in small groups of up to 15, online in your own time zone. The first trial class is free. WhatsApp replies within an hour (8am–11pm Pakistan time, every day); email the same day.
Cambridge ICT teachers at Marlbridge