Professional Documents
Culture Documents
ER Diagram Explanation
ER Diagram Explanation
In This Lecture
Entity/Relationship models
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
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
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
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
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,
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
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
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
Student
Student
Has
Studies
Enrolment
In
Module
Module
Enitities
Attributes
Relationships
Cardinality ratios
from a description
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
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
Example - Relationships
Course
Module
Student
Entity Relationship Modelling
Lecturer
Department
Course
Module
Student
Entity Relationship Modelling
Lecturer
Offers
Course
Includes
Module
Student
Entity Relationship Modelling
Lecturer
Offers
Course
Includes
Enrols In
Module
Student
Lecturer
Offers
Course
Includes
Module
Takes
Enrols In
Student
Lecturer
Offers
Course
Includes
Module
Takes
Enrols In
Student
Teaches
Lecturer
Offers
Course
Includes
Module
Takes
Enrols In
Student
Employs
Teaches
Lecturer
Offers
Course
Includes
Module
Employs
Teaches
Lecturer
Takes
Enrols In
Student
Tutors
Offers
Course
Includes
Module
Employs
Teaches
Lecturer
Takes
Enrols In
Student
Tutors
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.
Example - Entities/Attributes
Entities or
attributes:
product
description
price
supplier
address
phone number
name
street address
city
postcode
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
Description
Product
Street address
Name
Supplier
Address
Phone number
Postcode
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
Description
Product
Has A
Name
Supplier
Phone number
Street address
Has A
Address
Postcode
City
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
x
y
z
Description
Product
Has A
Name
Supplier
City
Phone number
Postcode
Street address
Entities
Attributes
Relationships
Cardinality ratios of
the relationships
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
Debugging Designs
ID
Student
Name
Has
ID
Enrolment
Code
In
Code
Module
Title
Next Lecture
SQL
The SQL language
SQL, the relational model, and E/R diagrams
CREATE TABLE
Columns
Primary Keys
Foreign Keys