Why database software is used to hold and manipulate data
Topic 17 is A Level content and opens Unit 4 (Relational Databases, examined by the practical paper WIT14).
It builds on the AS work on databases in Topic 5 of Unit 1 (tables, records, fields, keys, relationships and SQL), which is assumed.
On WIT14 you will not be asked to write about Topic 17 from memory: you show it by building a database that suits its users, and by typing two 9-mark answers that analyse a business's needs and recommend changes.
Your syllabus expects you to understand why database software is used to hold and manipulate data.
(it applies to every section of Topics 17, 18 and 19)
- A 3-hour practical, 80 marks, one business, five questions in a fixed order. Question 1: fix the given table, build a data entry form, turn a flat extract into three related tables and import it. Question 2: a select query, an aggregate query and a grouped report. Question 3: a query with a calculated or counted field, then a chart. Question 4: a dashboard. Question 5: a 9-mark essay on changing the structure. A second 9-mark essay sits in Question 1 or Question 2.
- Six commands, each at a fixed tariff: Create (3 to 11 marks), Develop (11), Import (3), Set up (2), Identify and correct (1) and Analyse and recommend (9). There are no recall questions, no definitions and no multiple choice.
- Evidence: every task ends by screen printing a named view (Design, Form, Datasheet or Print Preview), pasting it into a word-processed candidate evidence template and re-saving the template. The two essays are typed into the same template. Only the template is handed in.
- Where Topic 17 earns marks: in the June papers of 2023, 2024 and 2025 it led one 9-mark essay (what information a user's task needs, what the database already holds and what is missing). Its ideas also carry roughly 14 marks a paper inside other tasks: clear labels and titles, helpful messages, sensible button captions, readable reports and charts.
- Timing: about 2.25 minutes a mark.
The idea: data that a business can trust and use
Greenlight Driving School is run by its owner, Farida Haq, with five instructors and Owen Pryce, a part-time office assistant who takes bookings by phone.
Until this year Greenlight kept its bookings in one spreadsheet, a row per lesson: date, start time, learner's name, learner's mobile number, instructor, length in minutes and whether the lesson was paid.
In May 2026 the sheet held 212 lesson rows for 38 learners.
The spreadsheet held the data, but badly.
Each learner's name and number was typed again on every lesson row, so it appeared about 5.6 times on average (212 ÷ 38).
Instructors' names were typed freely, so "Dev Sharma", "Dev" and "D Sharma" all appeared.
Nothing stopped a lesson of 600 minutes, or two lessons for one learner at the same time.
Anyone who opened the file could change or delete any cell.
The spreadsheet could also manipulate the data only clumsily.
Farida could sort and filter one sheet, but every question that crossed two kinds of thing ("which learners has Gloria taught this month, with their mobile numbers?")
meant copying, pasting and checking by eye.
Database software solves both problems because it is built around two jobs: holding data in a fixed structure that protects it, and manipulating it with tools that work on that structure.
- Database: an organised, persistent collection of related data, held in a structure that software can search, sort and update.
- Database management system (DBMS): the software that creates and controls a database, enforces its rules and gives users tools to enter, retrieve and output the data. Microsoft Access is the DBMS used for WIT14 in practice.
- Hold (data): store data persistently in a defined structure (tables with named fields and data types) so that it stays consistent and secure.
- Manipulate (data): process stored data to produce information: search, sort, filter, combine tables, calculate, summarise, update in bulk, import and export.
- Data redundancy: the same data stored more than once without need; each copy can drift out of step with the others.
- Data integrity: the data is accurate, consistent and complete, and its links between tables are valid.
How it works: what the software does that a sheet cannot
Holding data.
1. A fixed structure. Every table has named fields, each with a data type (Short Text, Number, Date/Time, Currency, Yes/No). A date field will not accept "next Tuesday", and a Currency field will not accept "twenty pounds". In a spreadsheet any cell takes anything.
2. One fact, one place. Learners are stored once in tblLearner and instructors once in tblInstructor. A lesson in tblLesson stores only the keys LearnerID and InstructorID. A changed mobile number is changed in one record, and every lesson sees the new value.
3. Rules checked at entry. Validation rules (Topic 18) refuse a 600-minute lesson; a primary key refuses a duplicate; referential integrity refuses a lesson for a learner who does not exist.
4. Many users, one copy. Several people can open a shared Access database at once. If two of them change the same record, Access warns the second person before their save can overwrite the first change (a write conflict), and record locking can be switched on so a record being edited cannot be changed by anyone else. Microsoft's published limits for Access give a maximum of 255 concurrent users and a database file size of 2 GB, which is plenty for a small business such as Greenlight.
5. Security. Users can be given forms and a dashboard and kept away from the tables; the file can be password-protected; different front ends can show different users only what they need.
Manipulating data.
1. Queries combine tables through their relationships, apply criteria, sort, calculate new fields and summarise with Count, Sum, Min, Max and Avg (Topic 19).
2. Forms let users add and amend one record at a time, with drop-down lists, defaults and messages.
3. Reports group, total and lay out data for printing or sharing.
4. Action queries change many records by one rule (raise every price, delete old records).
5. Import and export move data in and out (text, csv and spreadsheet files both ways; pdf for outputs).
6. Macros join these into routines run from buttons.
Every benefit above depends on the relational structure you met in Topic 5 (keys and relationships) and build in Topic 18 (data types, keys, referential integrity, validation).
A database that is one big table, like Greenlight's old sheet, loses most of them.
That is why "develop a relational structure" is worth 11 marks every year.
Two faults in Greenlight's May 2026 sheet:
- Learner Amira Khalil changed her mobile number. Her name and number were on 9 lesson rows. Owen changed 7 of them, so 2 later lessons still carried the old number and the reminder texts for those 2 lessons went to a phone she no longer used.
- Instructor Dev Sharma taught 46 one-hour lessons in May. The instructor column read "Dev Sharma" on 39 rows, "Dev" on 5 and "D Sharma" on 2. Farida filtered on "Dev Sharma" to work out his pay at £22 per lesson hour.
1. The first fault is redundancy: the number is held 9 times, so it must be changed 9 times. In a database it is held once, in Amira's tblLearner record, and each lesson finds it through LearnerID.
2. The second fault is inconsistent free text. The filter found 39 lessons, so Dev's pay was worked out as 39 × £22 = £858 instead of 46 × £22 = £1,012, which is £154 short (7 × £22).
3. In a database, the lesson stores InstructorID, chosen from a drop-down list of instructors, so the same instructor cannot be typed three ways.
Answer: both faults come from holding the data in one unstructured sheet.
A database holds each learner and instructor once and links lessons to them by key, so one change updates every lesson and every count is complete.
What it means: neither fault was anyone being careless in a way software cannot help.
The structure made the mistakes easy; a better structure makes them impossible.
Farida also uses a spreadsheet for her accounts.
Which tool suits each job?
Job
Better tool
Reason
Store every learner, instructor and lesson, used by three people
database
one copy, record locking, rules at entry, linked tables
Work out next year's prices under three what-if scenarios
spreadsheet
formulas recalculate as inputs change; no records to store
List tomorrow's lessons for one instructor with each learner's mobile number
database
a query joins tblLesson to tblLearner and filters by date and instructor
Draw one chart of monthly income for the bank
either
a spreadsheet chart is quick; an Access report chart stays up to date
Count lessons per instructor each month for pay
database
an aggregate query counts by InstructorID, which cannot be mistyped
Answer: a database is chosen when data about several related things must be kept, shared and kept accurate over time; a spreadsheet when the job is modelling numbers.
What it means: "a database can do calculations" is not a reason, because a spreadsheet can too.
The reasons are structure, integrity, sharing and querying across related tables.
Gloria Boateng, an instructor, wants a printed list of her lessons on 15 May 2026, earliest first, with each learner's name and mobile number so she can call if she is delayed.
1. The data sits in three tables: tblLesson (date, time, keys), tblLearner (names, mobile) and tblInstructor (Gloria's ID).
2. One select query joins them through their relationships and filters on two criteria:
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Field
StartTime
FirstName
LastName
MobileNumber
LessonDate
LastName
Table
tblLesson
tblLearner
tblLearner
tblLearner
tblLesson
tblInstructor
Sort
Ascending
Show
✓
✓
✓
✓
Criteria
#15/05/2026#
"Boateng"
3. The last two columns are criteria only, so Show is unticked.
Answer: the query returns Gloria's lessons for that day with names and numbers, in time order, and gives the right answer again tomorrow if the date is changed.
In the spreadsheet the same list meant filtering, copying and checking each number by hand.
What it means: this is what "manipulate" means here.
The full method for building queries, criteria and sorts is in Topic 19, "Retrieving data for specific purposes: queries"; here the point is why the database can do it: the data is held once, in related tables.
Model answers: what earns the marks
Task: Farida's cousin, who runs a small tutoring business, keeps all bookings in one spreadsheet and says a database "would just be a spreadsheet with extra steps".
Analyse the problems her single spreadsheet is likely to cause, and recommend how a database should be set up to avoid them.
(9)
Weaker answer (Level 1, about 2 marks): "Databases are better than spreadsheets because they are more secure and faster and can hold more data.
She should use Access because it is better for bookings."
Every claim is generic, none is tied to bookings data, and "use Access" names a product, not a solution.
Top answer (Level 3, about 8 marks):
- Analysis: each booking row repeats the student's name and contact details, so a changed phone number must be found and changed on every row, and missed rows leave old numbers in use. Tutor and subject names typed freely appear in several spellings, so filters and counts miss bookings. Nothing stops a booking for a tutor at a time they already teach, or a 300-minute session. Anyone with the file can overwrite or delete history, and two people editing copies of it end up with two versions.
- Recommendation: three tables,
tblStudent(StudentID primary key, names, phone, email),tblTutor(TutorID primary key, names, subjects) andtblSession(TutorID and SessionDateTime as a composite primary key, StudentID as a foreign key, Minutes), linked one-to-many with referential integrity enforced. A range rule onMinuteswith a helpful message; the composite key stops a tutor being booked twice at one time. Staff enter bookings on a form with drop-down lists of students and tutors, so names are chosen, not typed, and reach the tables only through forms on a dashboard.
What lifts it: every problem is tied to the kind of data held, and every recommendation is a structure that would work.
Evidence box
- Essays are typed, never screen printed. Name the actual tables, fields and keys.
- Practical tasks in this section (the query in Worked example 3, the validation rule in the questions) follow the evidence rules of Topics 18 and 19: Design view with every table, field and criterion readable; Datasheet view with columns wide enough to read.
When an essay asks why the database falls short or how it should change, never write "databases are faster and more secure".
Name the redundancy, the missing rule or the missing link in this business's data, and give the table, key or validation rule that fixes it.
That is the difference between Level 1 and Level 3.
- "A database can do calculations." So can a spreadsheet. The reasons that hold are structure, one copy of each fact, rules at entry, linked tables and shared use.
- Treating a database as one big table. A single table with repeated names is a spreadsheet stored in Access; it brings back every problem in Worked example 1.
- Confusing holding with manipulating. Data types, keys and validation are about holding data safely; queries, reports and action queries are about manipulating it. A full answer to "why" uses both.
- Naming a product as the answer. "Use Access" earns nothing in an essay; describe the tables, keys, rules and forms.
Check your understanding
1. Farida's pay query cannot add up lesson lengths, because Minutes in tblLesson came across from the spreadsheet as Short Text. Identify and correct the data type of this field. Screen print tblLesson in Design view with the field and its data type visible. (1)
Total [1]
2. Lessons at Greenlight last 60, 90 or 120 minutes. Set up a check on Minutes in tblLesson so that only these values can be stored, with a message that tells Owen what to do. Screen print the table in Design view with the field and its properties visible. (2)
Total [2]
3. Farida pays each instructor by the number of lessons taught. Create a query that shows, for May 2026, each instructor's last name and the number of lessons they taught, with the count given a meaningful name. Screen print the query in Design view and Datasheet view. (4) Total [4]
4. A student says that once Greenlight moves to a database, the instructor names "Dev", "Dev Sharma" and "D Sharma" will be fixed automatically. Identify and correct the error in this claim. (1) Total [1]
5. Greenlight's old spreadsheet is still used by two instructors, who email Owen a copy each evening; Owen then copies the new rows into the database. Analyse the problems this causes for holding and manipulating Greenlight's data, and recommend how the instructors' lesson records should be entered and stored instead. Type your answer into your template; do not change the database. (9) Total [9]
Answers
1. Minutes changed from Short Text to Number (Integer), so the query can sum and count it and a range or list rule can be set on it (1). A field holding a quantity that is calculated with must be a number type; text sorts "120" before "60" and cannot be summed.
2. Validation Rule 60 Or 90 Or 120 (also accept In (60,90,120)) on Minutes (1); Validation Text that tells the user the allowed values, for example "Lesson length must be 60, 90 or 120 minutes. Please choose one of these." (1). The text earns its mark only with a rule beside it.
3. tblInstructor and tblLesson joined (1); LessonDate with Total Where and criteria Between #01/05/2026# And #31/05/2026# (1); LessonDate (or LearnerID) with Total Count (1); the count renamed, for example LessonsTaught: LearnerID (1).
Column 1
Column 2
Column 3
Field
LastName
LessonsTaught: LearnerID
LessonDate
Table
tblInstructor
tblLesson
tblLesson
Total
Group By
Count
Where
Show
✓
✓
Criteria
Between #01/05/2026# And #31/05/2026#
Grouping by InstructorID as well as LastName is better if two instructors could share a surname.
4. Moving the data into Access does not clean it: imported text keeps its three spellings. The fix is to hold instructors once in tblInstructor, replace the name in each lesson with the matching InstructorID (for example with an update query), and enter new lessons through a drop-down list so a name cannot be typed (1).
5. Level 3 (7-9) answer:
- Analysis: the instructors' sheets repeat learner names and numbers, so their copies drift from
tblLearner; free-typed names do not match the keys in the database, so Owen must look up eachLearnerIDandInstructorIDby hand; none of the validation or the composite key applies until he copies the rows, so a duplicate lesson or a 600-minute lesson is only found late, if at all; emailed copies may be out of date or lost, so the database is never certain to be complete; the same lesson can be copied twice. - Recommendation: instructors enter lessons straight into the database through a short lesson form on the shared database (or through a Windows laptop or tablet that can open it), with the learner and instructor chosen from drop-down lists,
LessonDatedefaulted to today andMinuteslimited to 60, 90 or 120 with a message;tblLessonkeeps the composite keyLearnerID+LessonDateso a second lesson that day is refused; the spreadsheet is retired, so there is one copy of the data. - Level 2 (4-6) answers name the problems but recommend vaguely ("use a form"); Level 1 (1-3) answers say spreadsheets are "less secure".