Entity Relationship Diagrams (OCR A Level Computer Science)

Revision Note

Neil Southin

Written by: Neil Southin

Reviewed by: James Woodhouse

Entity Relationship Types

What is an Entity?

  • An entity in something worthy of capturing and storing data about e.g. students, orders, products, courses, customers

  • Entities become tables in a relational database

  • Relational databases store different entities in separate tables. Linking tables depends on the relationships between entities.

  • There are 3 types of (sometimes called degrees of) relationships:

    • One to one

    • One to many

    • Many to many

  • Imagine a company has 

    • A table of products

    • A table of customers

    • A table of the orders the customers have made

  • What is the relationship between a customer and an order?

    • One customer can make multiple (many) orders

    • But each order relates to a specific (one) customer

    • So the relationship between customer and order is one to many

  • Now consider the relationship between a product and an order

    • An order could have more than one (many) products on it

    • A product could be on more than one (many) order

    • So the relationship between order and product is many to many

  • One to one relationships also exist but are not very common in databases

Drawing Entity Relationship Diagrams

  • Entity Relationship Diagrams (ERDs) are simple diagrams that represent the entities (tables) that will be in a database and the relationships between these entities

  • The entities are drawn as boxes with the entity name in

  • The relationships are drawn in as what is known as ‘crow’s feet notation’

  • This is how to draw the relationships in the exam:

entity-relationship-diagrams
  • The names of the entities would go inside the boxes

Examiner Tips and Tricks

These diagrams are simple but tell us some important things about the database:

  • The names of all the tables

  • Which tables will have a foreign key - when an entity has a ‘many’ relationship against it that means it will have a foreign key in it that links to the primary key of the connected entity

Worked Example

An insurance company's offices have a large number of black and white printers

The company's technicians keep accurate records of the printers in the building, and the quantity of toner cartridges in stock, in a flat file database. An extract of the database is shown:

Printer Model

Location

Notes

Cartridge Code

Quantity in stock

Re-order URL

LasPrint LP753

office 3

 

LP-7XB

12

www.megacheapprint.com/toner / LP-7XB

LasPrint LP710

office 6

drum replaced

LP-7XB

12

www.megacheapprint.com / toner / LP-7XB

Zodiac ZN217

reception

 

Zod17

4

www.zodiaclaserprinting.com / shop / Z17

Zodiac ZN217

conference Room 2

had to add RAM

Zod17

4

www.megacheapprint.com / toner / LP-7XB

LasPrint LP753

office 8

 

LP-7XB

12

www.megacheapprint.com / toner / LP-7XB

A relational database is created with three tables:

  • PrinterModel: this stores all the data about each model of printer

  • PrinterInstance: this stores the data about each individual printer in the building

  • Cartridge: this stores information about the toner cartridges

Draw an entity-relationship diagram to show the relationships between the three tables

[4]

Answer:

catridge-worked-example

Entities and relationships drawn using standard notation [1]

Cartridge linked to PrinterModel, PrinterModel linked to PrinterInstance with no other links [1]

1:M relationship from Cartridge to Printer Model [1]

1:M relationship from PrinterModel to PrinterInstance [1]

Resolving Many to Many Relationships

  • Many to many relationships cannot be implemented into an actual database and need to be ‘resolved

  • This involves creating a new table known as a ‘link’ table that goes between the entities

  • This new table links the entities that have the many to many relationships together

resolving-many-to-many-relationships

Last updated:

You've read 0 of your 5 free revision notes this week

Sign up now. It’s free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Neil Southin

Author: Neil Southin

Expertise: Computer Science

Neil has been a passionate Computing teacher for nearly 20 years, teaching Computing and ICT in a large Sixth Form College.

James Woodhouse

Author: James Woodhouse

Expertise: Computer Science

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.