You are on page 1of 21

COMSATS University Islamabad

cuiatd.edu.pk
subexpert.com
Abbottabad Campus
Computer Science Department
subexpert.com

DATABASE SYSTEMS

Lecture 5 – Entity Relationship Modeling

Mukhtiar Zamin,
MS (Computer Science)
Iowa, United States of America
mukhtiar@cuiatd.edu.pk

1
ACKNOWLEDFMENT
subexpert.com
Lectures are prepared from the following books:
Text Book:
– Database Systems, A practical approach to Design, Implementation and Management
by Thomas Connolly, 4th edition

Other Books:
– Modern Database Management
by Jeffry A. Hoffer, 10th Edition
– Microsoft SQL Server 2008 Database Development
by Microsoft

In addition there are other examples and code snippets from other sources which are
mentioned on respective slides

2
Lecture 5
• subexpert.com
Entity-Relationship Modeling and Concepts
• Entity-Relationship Model
• Strong and Weak Entity Types
• Relationship Types
• Attributes
• Attributes on Relationships
• Structural Constraints
• Problems with ER Models
• Refinements in ERM
• ER Diagrams—Do’s and Dont’s

3
Entity-Relationship Modeling and Concepts
• ER modeling
subexpert.com
– Is a top-down approach to database design
– Begins by identifying the important data called entities and relationships between
the data that must be represented in the model.
– We then add more details about the entities and relationships called attributes and
any constraints on the entities, relationships, and attributes
• Purpose:
– Model Business with Entity-Relationship Diagram
– Implement Entity-Relationship Diagram with Relational DB
• Reasons to learn ER:
– Napkin sketches.
– Learning what a model is.
– You will encounter them in the field.
• Concepts of the Entity-Relationship Model
– Entity type, which contains entities and is a group of objects with the same properties,
which are identified by the enterprise as having an independent existence.
– Relationship types, which contains relationships
– Attributes
• The terms "entity" and "relationship" are commonly used when "entity
type" and "relationship type" are meant.

4
What Should an Entity Be?
SHOULD BE: subexpert.com
• An object that will have many instances in the
database
• An object that will be composed of multiple
attributes
• An object that we are trying to model
SHOULD NOT BE:
• A user of the database system
• An output of the database system (e.g. a report)

5
Entity-Relationship Model
subexpert.com
Diagrammatic representation of entity types
Branch Staff

• Entities (like variables) have state, not behavior


• Objects have state and behavior
• Methods have behavior, not state

• Examples:
Football: Player (n) --- --- (1) Team
Company: Staff (n) --- --- (1) Branch
Bank:
Loan (n) --- --- (1) Customer
Payment (n) --- --- (1) Loan

6
Refinements in ERM
Entity Type = ( strong |subexpert.com
weak )
Relationship Type = ( strong | weak )
Cardinality of Relationship Type = ( 1:1 | 1:N | M:N )
Participation in Relationship Type = ( partial | full )

Representation by Relations (Tables)


- An entity is represented by a relation
- A 1:N relationship generally implies a foreign key in the relation representing the
“N” entity
- A weak entity generally imports its key from the strong entity indicated by the
weak relationship

7
Strong and Weak Entity Types
• Strong entity type An entity type that is not existence-dependent on
subexpert.com
some other entity type
– Each strong entity occurrence is uniquely identifiable using the primary
key attribute(s) of that entity type.

• Weak entity type An entity type that is existence-dependent on


some other entity type.
– Each weal entity occurrence cannot be uniquely identified using only
the attributes associated with that entity type.
– Note that there is no primary key for the Preference entity.

8
Relationship Types
• Relationship type A set of meaningful
subexpert.com
associations among entity types

• Degree of Relationship Type: The


number of participating entity types
in a relationship.

9
Relationship Types
• Recursive Relationship: A
subexpert.com
relationship type where
the same entity type
participates more than
once in different roles

• Complex Relationships: A
relationship is complex if
its degrees is higher than
binary (two entities).
• A relationship of degree
three is called ternary,
degree four is called
quaternary

10
Attributes
• Attribute A property of an entity or a relationship type.




subexpert.com
A relationship type that associates entities can also have attributes similar to those of an entity type
Attribute domain The set of allowable values for one or more attributes
Simple attribute An attribute composed of a single component with an independent
existence
– Simple attributes cannot be further subdivided into smaller components.
– For Examples position and salary of the Staff entity
• Composite attribute An attribute composed of multiple components, each with an
independent existence
– can be further divided to yield smaller components with an independent existence of
their own.
– For example, the address attribute of the Branch entity
• Single-valued attribute An attribute that holds a single value for each occurrence of an
entity type. For example branch number for Branch entity type

• Multi-valued attribute An attribute that holds multiple values for each occurrence of an
entity type. For example multiple values for the telNo attribute of Branch

• Derived attribute An attribute that represents a value that is derivable from the value of
a related attribute or set of attributes, not necessarily in the same entity type. For
example, the value for the duration attribute of the Lease entity is calculated from the
rentStart and rentFinish attributes

11
Diagrammatic representation of attributes
• We divide the rectangle representing the entity in two. The
subexpert.com
upper part of the rectangle displays the name of the entity
and the lower part lists the names of the attributes.

12
Attributes on Relationships
• Attributes can also subexpert.com
be assigned to relationships
• To distinguish between a relationship with an attribute and an entity,
the rectangle representing the attribute(s) is associated with the
relationship using a dashed line.
• The presence of the dateAdvert and cost attributes on the Advertises
relationship indicates the presence of an entity called Advert.
• For example, consider the relationship Advertises, which associates the
Newspaper and PropertyForRent entity types as shown below:

13
Structural Constraints
• The constraintssubexpert.com
should reflect the restrictions on the
relationships as perceived in the ‘real world’.
• Examples of such constraints include the requirements that
a property for rent must have an owner and each branch
must have staff.
• Multiplicity
– The number (or range) of possible occurrences of an entity type
that may relate to a single occurrence of an associated entity
type through a particular relationship.
• The most common degree for relationships is binary. Binary
relationships are generally referred to as being one-to-one
(1:1), one-to-many (1:*), or many-to-many (*:*). For
example
– a member of staff manages a branch (1:1)
– a member of staff oversees properties for rent (1:*)
– newspapers advertise properties for rent (*:*)
14
Multiplicity Constraints Representations
subexpert.com

15
Cardinality and Participation Constraints
• Multiplicity actually consists of two separate constraints known as cardinality and
participation
• subexpert.com
Cardinality Describes the maximum number of possible relationship occurrences for an
entity participating in a given relationship type
– the Manages relationship has a one-to-one (1:1) cardinality and this is represented by
multiplicity ranges with a maximum value of 1 on both sides of the relationship
• Participation Determines whether all or only some entity occurrences participate in a
relationship
– Represents whether all entity occurrences are involved in a particular relationship
(referred to as mandatory participation) or only some (referred to as optional
participation)

16
Problems with ER Models
• Fan trap subexpert.com
– Where a model represents a relationship between entity
types, but the pathway between certain entity occurrences is
ambiguous.

17
Problems with ER Models
• Chasm trap subexpert.com
– Where a model suggests the existence of a relationship
between entity types, but the pathway does not exist
between certain entity occurrences.

18
subexpert.com

19
ER Diagrams—Do’s and Dont’s
subexpert.com
• A high-quality data model gives an impression of the
business it represents.
Five perspectives to check
• Conceptual correctness—does it represent the business
concepts of the enterprise?
• Conceptual completeness—does it describe the full
scope of the enterprise?
• Syntactic correctness—are the symbols used according
to their definitions?
• Syntactic completeness—is the diagram fully developed
in all its details?
• Enterprise awareness—is the model natural to the
enterprise, stable and scalable?

20
Assignment 2
subexpert.com
1. Solve the complete exercise of Chapter
11
2. Draw ER-Diagram for your project

21

You might also like