Skip to main content
EnglandComputer ScienceSyllabus dot point

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.

Generated by Claude Opus 4.88 min answer

Reviewed by: AI editorial process; not yet individually human-reviewed

Have a quick question? Jump to the Q&A page

Jump to a section
  1. What this dot point is asking
  2. Conceptual data modelling
  3. Entity relationship diagrams
  4. Resolving many-to-many relationships

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

Sources & how we know this