How do we model the data and relationships in a real-world system?
Understand conceptual data modelling, entities, attributes and relationships, entity relationship (ER) diagrams, and the degrees of relationship (one-to-one, one-to-many, many-to-many).
A focused answer to AQA A-Level Computer Science 4.10.1, covering conceptual data modelling, entities, attributes and relationships, entity relationship diagrams, and the degrees of relationship including resolving many-to-many.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
AQA wants you to model a real-world system conceptually, identify entities, attributes and relationships, draw an entity relationship (ER) diagram, and describe the degree of relationships including how to resolve many-to-many.
Conceptual data modelling
An entity typically becomes a table, each attribute a field, and one attribute (or combination) is chosen as the primary key to uniquely identify each record. The model is deliberately produced before any decision about software or storage, because getting the structure of entities and relationships right is what prevents redundancy and anomalies later. This is a form of abstraction: the model keeps the essential things and their links while ignoring how they will physically be stored.
Entity relationship diagrams
Getting the degree right is the most important and most error-prone part of reading or drawing an ER diagram. The test is to consider each direction separately: ask how many of B can relate to one A, then how many of A can relate to one B. If both answers are "many", the relationship is many-to-many; if one side is "one", it is one-to-many. This careful per-direction check is what examiners expect when they ask you to state or justify a degree.
Resolving many-to-many relationships
The linking entity often carries useful extra data of its own that belongs to the combination rather than to either side alone, for example the date a student enrolled on a particular course or the grade achieved. Recognising that such attributes belong on the junction entity, not on Student or Course, is a sign of a strong understanding of the model.
Exam-style practice questions
Practice questions written in the style of AQA exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
AQA 20194 marksA school database records that each Student can be enrolled on many Courses, and each Course can have many Students. State the degree of this relationship, explain why it cannot be implemented directly in a relational database, and describe how it would be resolved.Show worked answer →
The relationship between Student and Course is many-to-many (M:N): a student takes many courses and a course has many students.
It cannot be implemented directly because a relational table can hold only single (atomic) values in each field, so neither table can store an unbounded list of the related records from the other side without repeating data.
It is resolved by introducing a linking (junction) entity, for example Enrolment, placed between Student and Course. Enrolment holds a foreign key to Student and a foreign key to Course (often together forming its composite key), turning the single many-to-many relationship into two one-to-many relationships: one Student has many Enrolments, and one Course has many Enrolments.
Markers reward identifying the M:N degree, the reason it cannot be stored directly, and resolving it with a linking entity that creates two one-to-many relationships.
AQA 20214 marksDescribe the steps in producing a conceptual data model for a small business, and explain the difference between an entity, an attribute and a relationship using an example.Show worked answer →
Producing a conceptual data model involves identifying the entities the system stores data about, the attributes that describe each entity, the relationships between entities and their degree, and choosing a primary key for each entity, all independently of any particular software.
An entity is a real-world thing the database stores data about, for example Customer. An attribute is a property of an entity, for example a Customer's Name or Address. A relationship is a link between entities, for example a Customer places an Order, which is a one-to-many relationship because one customer can place many orders.
Markers reward the modelling steps (entities, attributes, relationships, keys) and a correct distinction between entity, attribute and relationship with a coherent example.
Related dot points
- Understand relational databases, primary and foreign keys, the problems of data redundancy, and normalisation to first, second and third normal form.
A focused answer to AQA A-Level Computer Science 4.10.2, covering relational databases, primary and foreign keys, the problems of data redundancy, and normalisation to first, second and third normal form.
- Understand SQL for retrieving data with SELECT, FROM, WHERE and ORDER BY, joining tables, and modifying data with INSERT, UPDATE and DELETE.
A focused answer to AQA A-Level Computer Science 4.10.3 and 4.10.4, covering SQL for retrieving data with SELECT, FROM, WHERE and ORDER BY, joining tables, and modifying data with INSERT, UPDATE and DELETE.
- Understand transaction processing, the ACID properties, record locking and the deadlock that can result, redundancy and database recovery.
A focused answer to AQA A-Level Computer Science 4.10.5, covering transaction processing, the ACID properties, record locking and deadlock, redundancy, and database recovery from failure.
- Understand arrays (one, two and three dimensional), records and fields, and the difference between static and dynamic data structures.
A focused answer to AQA A-Level Computer Science 4.2.1, covering one, two and three dimensional arrays, records and fields, indexing, and the difference between static and dynamic data structures.
- Understand the client-server and peer-to-peer models, web technologies including HTML, CSS and JavaScript, the role of web servers, and the use of APIs and thin versus thick clients.
A focused answer to AQA A-Level Computer Science 4.8.6, covering the client-server and peer-to-peer models, web technologies including HTML, CSS and JavaScript, the role of web servers, and thin versus thick clients.
Sources & how we know this
- AQA A-level Computer Science (7517) specification — AQA (2015)