0% found this document useful (0 votes)
18 views19 pages

W13 - Lecture 25 - ER Diagram

Uploaded by

sp22-bcs-139
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views19 pages

W13 - Lecture 25 - ER Diagram

Uploaded by

sp22-bcs-139
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

CSC291 - Software Engineering

Concepts

Lecture 25
Entity/Relationship
Modelling
5/18/2023 CSC291 - Software Engineering Concepts 2

Lecture Outline

• Entity/Relationship models
• Entities and Attributes
• Relationships
• E/R Diagrams
5/18/2023 CSC291 - Software Engineering Concepts 3

Entity/Relationship Modelling
• ERD is a data modeling technique used in software
engineering to produce a conceptual data model of an
information system.

• Illustrate the logical structure of database.

• It describes how these data are related to each other.

• For example, the entities writer, novel, and consumer may


be described using ER diagrams this way:
5/18/2023 CSC291 - Software Engineering Concepts 4

Entity/Relationship Modelling
5/18/2023 CSC291 - Software Engineering Concepts 5

Entity/Relationship Modelling

• E/R Modelling is used for • Example


• In a University database we
conceptual design might have entities for
• Entities - objects or items of Students, Modules and
interest Lecturers. Students might
• Attributes - Properties of an have attributes such as their
entity ID, Name and could have
relationships with Modules
• Relationships - links between
Course and Lecturers.
entities
5/18/2023 CSC291 - Software Engineering Concepts 6

Entity/Relationship Diagrams
E/R Models are often
Lecturer ID
represented as E/R
diagrams Name Ph#

teaches Student

Course Register
5/18/2023 CSC291 - Software Engineering Concepts 7

Entities
• Entities represent objects • Entities have
or things of interest • A general type or class, such
as Lecturer or Module
• Physical things like students,
lecturers, employees.. • Instances of that particular
• More abstract things like type, such as Steve Mills,
modules, orders, courses, Natasha are instances of
projects Lecturer

• Attributes (such as name,


email address)
5/18/2023 CSC291 - Software Engineering Concepts 8

Entities

Lecturer ID
• In an E/R Diagram, an
entity is usually drawn as a Name PH#
box with rounded corners
or Rectangle teaches Student

• The box is labelled with


the name of that entity
course Register
5/18/2023 CSC291 - Software Engineering Concepts 9

Attributes

• Attributes are properties, or details about an entity

• Students have IDs, names, courses, addresses, …


• Courses have codes, titles, credit weights. .…
5/18/2023 CSC291 - Software Engineering Concepts 10

Diagramming Attributes
• In an E/R Diagram
Lecturer ID
attributes may be drawn as
ovals Name Ph#

• Each attribute is linked to Teaches Student


its entity by a line

• The name of the attribute


Course Register
is written in the oval
5/18/2023 CSC291 - Software Engineering Concepts 11

Types of Attributes
• Composite attributes
Attributes can also have their own specific attributes. For
example, the attribute “customer address” can have the
attributes “number, street, city, and state”.
5/18/2023 CSC291 - Software Engineering Concepts 12

Types of Attributes
• Multivalued Attribute
If an attribute can have more than one value it is called
an multivalued attribute.
For example a teacher entity can have multiple subject
values.
5/18/2023 CSC291 - Software Engineering Concepts 13

Types of Attributes
• Derived Attribute
An attribute based on another attribute. This is found
rarely in ER diagrams. For example for a circle the area
can be derived from the radius.
5/18/2023 CSC291 - Software Engineering Concepts 14

Relationships

• Relationships are an
association between two • Relationships have
or more entities • A name
• A set of entities that
• Each Student takes several participate in them
Courses • A degree - the number of
entities that participate (most
• Each Course is taught by a have degree 2)
Lecturer • A cardinality ratio

• Each Employee works for a


single Department
5/18/2023 CSC291 - Software Engineering Concepts 15

Cardinality Ratios

• Each entity in a • One to one (1:1)


• Each lecturer has a unique office
relationship can participate
in zero, one, or more than • One to many (1:M)
• A lecturer may teaches many
one instances of that students, but each student has
relationship just one tutor for specific course
• Many to many (M:M)
• Each student takes several
• This leads to 3 types of courses and each course is
relationship… taken by several students
5/18/2023 CSC291 - Software Engineering Concepts 16

Diagramming Relationships

Lecturer ID
• Relationships are links
between two entities Name Ph#

• The name is given in a Teaches Student


diamond box

• The ends of the link show


Course Register
cardinality
One Many
5/18/2023 CSC291 - Software Engineering Concepts 17

Making E/R Models

• To make an E/R model you • General guidelines


need to identify • Since entities are things or
• Entities objects they are often nouns
• Attributes in the description
• Relationships
• Attributes are properties, and
• Cardinality ratios
often nouns

• from a description • Verbs often describe


relationships between entities
5/18/2023 CSC291 - Software Engineering Concepts 18

Example
We want to represent information about products in a
database. Each product has a Product id, description, and
price. Supplier supply the products.
Supplier have address, phone numbers, and name. Each
address is made up of a street address, a city, and a
postcode.
5/18/2023 CSC291 - Software Engineering Concepts 19

Chapter Reading
• Chapter 5, System Modeling,
Software Engineering by Ian Sommerville

Course Material Link:


https://sites.google.com/cuilahore.edu.pk/sec

You might also like