You are on page 1of 41

Entity/Relationship Modelling

Database Systems Lecture 4


Natasha Alechina

In This Lecture
Entity/Relationship models

Entities and Attributes


Relationships
Attributes
E/R Diagrams

For more information


Connolly and Begg chapter 11
Ullman and Widom chapter 2
Entity Relationship Modelling

Database Design
Before we look at
how to create and
use a database well
look at how to
design one
Need to consider
What tables, keys,
and constraints are
needed?
What is the database
going to be used for?
Entity Relationship Modelling

Conceptual design
Build a model
independent of the
choice of DBMS

Logical design
Create the database
in a given DBMS

Physical design
How the database is
stored in hardware

Entity/Relationship Modelling
E/R Modelling is
used for conceptual
design
Entities - objects or
items of interest
Attributes - facts
about, or properties
of, an entity
Relationships - links
between entities

Entity Relationship Modelling

Example
In a University
database we might
have entities for
Students, Modules and
Lecturers. Students
might have attributes
such as their ID,
Name, and Course, and
could have
relationships with
Modules (enrolment)
and Lecturers
(tutor/tutee)

Entity/Relationship Diagrams
E/R Models are often
represented as E/R
diagrams that
Give a conceptual
view of the database
Are independent of
the choice of DBMS
Can identify some
problems in a design

Entity Relationship Modelling

ID

Lecturer
Name

Course

Tutors

Student

Module

Studies

Entities
Entities represent
objects or things of
interest
Physical things like
students, lecturers,
employees, products
More abstract things
like modules, orders,
courses, projects

Entity Relationship Modelling

Entities have
A general type or
class, such as
Lecturer or Module
Instances of that
particular type, such
as Steve Mills,
Natasha Alechina are
instances of Lecturer
Attributes (such as
name, email address)

Diagramming Entities
In an E/R Diagram,
an entity is usually
drawn as a box with
rounded corners
The box is labelled
with the name of the
class of objects
represented by that
entity

Entity Relationship Modelling

ID

Lecturer
Name

Course

Tutors

Student

Module

Studies

Attributes
Attributes are facts,
aspects, properties,
or details about an
entity
Students have IDs,
names, courses,
addresses,
Modules have codes,
titles, credit weights,
levels,

Entity Relationship Modelling

Attributes have
A name
An associated entity
Domains of possible
values
Values from the
domain for each
instance of the entity
they are belong to

Diagramming Attributes
In an E/R Diagram
attributes may be
drawn as ovals
Each attribute is
linked to its entity by
a line
The name of the
attribute is written in
the oval
Entity Relationship Modelling

ID

Lecturer
Name

Course

Tutors

Student

Module

Studies

Relationships
Relationships are an
association between
two or more entities
Each Student takes
several Modules
Each Module is taught
by a Lecturer
Each Employee works
for a single
Department

Entity Relationship Modelling

Relationships have
A name
A set of entities that
participate in them
A degree - the
number of entities
that participate (most
have degree 2)
A cardinality ratio

Cardinality Ratios
Each entity in a
relationship can
participate in zero,
one, or more than
one instances of that
relationship
This leads to 3 types
of relationship

Entity Relationship Modelling

One to one (1:1)


Each lecturer has a
unique office

One to many (1:M)


A lecturer may tutor
many students, but each
student has just one
tutor

Many to many (M:M)


Each student takes
several modules, and
each module is taken by
several students

Diagramming Relationships
Relationships are
links between two
entities
The name is given in
a diamond box
The ends of the link
show cardinality

One

Many
Entity Relationship Modelling

ID

Lecturer
Name

Course

Tutors

Student

Module

Studies

Removing M:M Relationships


Many to many
relationships are
difficult to represent
We can split a many
to many relationship
into two one to
many relationships
An entity represents
the M:M relationship

Student
Student
Has

Studies

Enrolment
In

Module
Module

Entity Relationship Modelling

Making E/R Models


To make an E/R
model you need to
identify

Enitities
Attributes
Relationships
Cardinality ratios

from a description

Entity Relationship Modelling

General guidelines
Since entities are
things or objects they
are often nouns in the
description
Attributes are facts or
properties, and so are
often nouns also
Verbs often describe
relationships between
entities

Example
A university consists of a number of
departments. Each department offers several
courses. A number of modules make up each
course. Students enrol in a particular course
and take modules towards the completion of
that course. Each module is taught by a
lecturer from the appropriate department, and
each lecturer tutors a group of students

Entity Relationship Modelling

Example - Entities
A university consists of a number of
departments. Each department offers several
courses. A number of modules make up
each course. Students enrol in a particular
course and take modules towards the
completion of that course. Each module is
taught by a lecturer from the appropriate
department, and each lecturer tutors a group
of students

Entity Relationship Modelling

Example - Relationships

A university consists of a number of


departments. Each department offers several
courses. A number of modules make up each
course. Students enrol in a particular course
and take modules towards the completion of
that course. Each module is taught by a
lecturer from the appropriate department,
and each lecturer tutors a group of students

Entity Relationship Modelling

Example - E/R Diagram


Entities: Department, Course, Module, Lecturer, Student
Department

Course

Module

Student
Entity Relationship Modelling

Lecturer

Example - E/R Diagram


Each department offers several courses
Offers

Department

Course

Module

Student
Entity Relationship Modelling

Lecturer

Example - E/R Diagram


A number of modules make up each courses
Department

Offers

Course

Includes

Module

Student
Entity Relationship Modelling

Lecturer

Example - E/R Diagram


Students enrol in a particular course
Department

Offers

Course

Includes

Enrols In

Entity Relationship Modelling

Module

Student

Lecturer

Example - E/R Diagram


Students take modules
Department

Offers

Course

Includes

Module

Takes

Enrols In

Entity Relationship Modelling

Student

Lecturer

Example - E/R Diagram


Each module is taught by a lecturer
Department

Offers

Course

Includes

Module

Takes

Enrols In

Entity Relationship Modelling

Student

Teaches

Lecturer

Example - E/R Diagram


a lecturer from the appropriate department
Department

Offers

Course

Includes

Module

Takes

Enrols In

Entity Relationship Modelling

Student

Employs

Teaches

Lecturer

Example - E/R Diagram


each lecturer tutors a group of students
Department

Offers

Course

Includes

Module

Employs

Teaches

Lecturer

Takes

Enrols In

Entity Relationship Modelling

Student

Tutors

Example - E/R Diagram


Department

Offers

Course

Includes

Module

Employs

Teaches

Lecturer

Takes

Enrols In

Entity Relationship Modelling

Student

Tutors

Entities and Attributes


Sometimes it is hard
to tell if something
should be an entity
or an attribute
They both represent
objects or facts about
the world
They are both often
represented by nouns
in descriptions

Entity Relationship Modelling

General guidelines
Entities can have
attributes but
attributes have no
smaller parts
Entities can have
relationships between
them, but an attribute
belongs to a single
entity

Example
We want to represent information about
products in a database. Each product
has a description, a price and a
supplier. Suppliers have addresses,
phone numbers, and names. Each
address is made up of a street address,
a city, and a postcode.

Entity Relationship Modelling

Example - Entities/Attributes
Entities or
attributes:

product
description
price
supplier
address
phone number
name
street address
city
postcode

Entity Relationship Modelling

Products, suppliers,
and addresses all
have smaller parts
so we can make
them entities
The others have no
smaller parts and
belong to a single
entity

Example - E/R Diagram


Price

Description

Product

Street address

Name

Supplier

Address

Phone number

Postcode

Entity Relationship Modelling

City

Example - Relationships
Each product has a
supplier
Each product has a
single supplier but
there is nothing to
stop a supplier
supplying many
products
A many to one
relationship

Entity Relationship Modelling

Each supplier has an


address
A supplier has a single
address
It does not seem
sensible for two
different suppliers to
have the same
address
A one to one
relationship

Example - E/R Diagram


Price

Description

Product

Has A

Name

Supplier
Phone number

Entity Relationship Modelling

Street address

Has A

Address
Postcode

City

One to One Relationships


Some relationships
between entities, A
and B, might be
redundant if
It is a 1:1 relationship
between A and B
Every A is related to a
B and every B is
related to an A

Entity Relationship Modelling

Example - the
supplier-address
relationship
Is one to one
Every supplier has an
address
We dont need
addresses that are not
related to a supplier

Redundant Relationships
We can merge the
two entities that
take part in a
redundant
relationship together
They become a single
entity
The new entity has all
the attributes of the
old one

AB

b
c

Entity Relationship Modelling

x
y
z

Example - E/R Diagram


Price

Description

Product

Has A

Name

Supplier

City

Phone number

Postcode

Street address

Entity Relationship Modelling

Making E/R Diagrams


From a description of
the requirements
identify the

Entities
Attributes
Relationships
Cardinality ratios of
the relationships

Entity Relationship Modelling

Draw the E/R


diagram and then
Look at one to one
relationships as they
might be redundant
Look at many to
many relationships as
they might need to be
split into two one to
many links

Debugging Designs
With a bit of practice
E/R diagrams can be
used to plan queries
You can look at the
diagram and figure
out how to find useful
information
If you cant find the
information you need,
you may need to
change the design
Entity Relationship Modelling

Student
Has

Enrolment
In

Module

How can you


find a list of
students who
are enrolled
in Database
systems?

Debugging Designs
ID

Student
Name

(3) For each instance of Enrolment in the


result of (2) find the corresponding Student

Has

ID

Enrolment
Code

(2) Find instances of the Enrolment entity


with the same Code as the result of (1)

In

Code

Module
Title

(1) Find the instance of the Module


entity with title Database Systems

Entity Relationship Modelling

This Lecture in Exams


(and coursework 2007/8)
A database will be made to store information about patients in a
hospital. On arrival, each patients personal details (name,
address, and telephone number) are recorded where possible,
and they are given an admission number. They are then
assigned to a particular ward (Accident and Emergency,
Cardiology, Oncology, etc.). In each ward there are a number
of doctors and nurses. A patient will be treated by one doctor
and several nurses over the course of their stay, and each
doctor and nurse may be involved with several patients at any
given time.

Entity Relationship Modelling

This Lecture in Exams


Identify the entities, attributes, relationships, and cardinality
ratios from the description.
(4 marks)
Draw an entity-relationship diagram showing the items you
identified.
(4 marks)
Many-to-many relationships are hard to represent in SQL tables.
Explain why many-to-many relationships cause problems in
SQL tables, and show how these problems may be
overcome.
(4 marks)

Entity Relationship Modelling

Next Lecture
SQL
The SQL language
SQL, the relational model, and E/R diagrams
CREATE TABLE
Columns
Primary Keys
Foreign Keys

For more information


Connolly and Begg chapter 6
Ullman and Widom chapter 6.5, 6.6
Entity Relationship Modelling

You might also like