0% found this document useful (0 votes)
23 views43 pages

ER Diagram to Relational Mapping Guide

The document outlines the process of converting an Entity-Relationship (ER) model into a relational database schema, detailing the steps involved in the ER-to-Relational Mapping Algorithm. It covers the mapping of regular and weak entity types, various relationship types, and multivalued attributes, emphasizing the importance of preserving information and maintaining constraints. Additionally, it introduces participation constraints and cardinality ratios relevant to database design.

Uploaded by

Mhamad Nemer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views43 pages

ER Diagram to Relational Mapping Guide

The document outlines the process of converting an Entity-Relationship (ER) model into a relational database schema, detailing the steps involved in the ER-to-Relational Mapping Algorithm. It covers the mapping of regular and weak entity types, various relationship types, and multivalued attributes, emphasizing the importance of preserving information and maintaining constraints. Additionally, it introduces participation constraints and cardinality ratios relevant to database design.

Uploaded by

Mhamad Nemer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CSC4480: Principles of Database

Systems
Lecture 5: ER to Relational Mapping
Motivation

• We studied the relational model for the COMPANY database


• But how did we get from an ER model of COMPANY to a relational
model?

Slide 2
ER to Relational Mapping

Slide 3
Mapping Concepts to Implementation

Slide 4
Big Picture of the ER Model

Binary Multivalued N-ary


Entities
relationships attributes relationships

Slide 5
Sub-Steps

Entities

Strong Weak
entities entities

Binary
relationships

1:1 1:N M:N

Slide 6
Spoiler Alert!

• Entities become tables


• Relationships of cardinality M:N become tables
• Relationships of degree > 2 become tables
• Multivalued attributes become tables
• Most remaining aspects of the ER model are sorted out via FKs
(foreign keys)

Slide 7
Chapter Outline
• ER-to-Relational Mapping Algorithm
– Step 1: Mapping of Regular Entity Types
– Step 2: Mapping of Weak Entity Types
– Step 3: Mapping of Binary 1:1 Relation Types
– Step 4: Mapping of Binary 1:N Relationship Types.
– Step 5: Mapping of Binary M:N Relationship Types.
– Step 6: Mapping of Multivalued attributes.
– Step 7: Mapping of N-ary Relationship Types.

• Mapping EER Model Constructs to Relations


– Step 8: Options for Mapping Specialization or Generalization.
– Step 9: Mapping of Union Types (Categories).

Slide 8
GOALS during Mapping

• Preserve all information (that includes all attributes)


• Maintain the constraints to the extent possible
• Minimize null values

• The mapping procedure described has been implemented in many


commercial tools.

Slide 9
ER Diagram for COMPANY Database

Slide 10
Binary Multivalued N-ary
Entities
relationships attributes relationships

Strong Weak
entities entities

Slide 11
ER-to-Relational Mapping Algorithm
• Step 1: Mapping of Regular Entity Types.
– For each regular (strong) entity type E in the ER schema, create a relation R
that includes all the simple attributes of E.
– Choose one of the key attributes of E as the primary key for R.
– If the chosen key of E is composite, the set of simple attributes that form it will
together form the primary key of R.

• Example: We create the relations EMPLOYEE, DEPARTMENT, and


PROJECT in the relational schema corresponding to the regular
entities in the ER diagram.
– SSN, DNUMBER, and PNUMBER are the primary keys for the relations
EMPLOYEE, DEPARTMENT, and PROJECT as shown.

Slide 12
Figure 9.3 Illustration of some mapping steps. (a) Entity relations after step 1. (b) Additional weak entity
relation after step 2. (c) Relationship relations after step 5. (d) Relation representing multivalued attribute after step 6.

Result of Step 1

Slide 13
Binary Multivalued N-ary
Entities
relationships attributes relationships

Strong Weak
entities entities

Slide 14
ER-to-Relational Mapping Algorithm (contd.)
• Step 2: Mapping of Weak Entity Types
– For each weak entity type W in the ER schema with owner entity type E,
create a relation R & include all simple attributes (or simple components of
composite attributes) of W as attributes of R.
– Also, include as foreign key attributes of R the primary key attribute(s) of the
relation(s) that correspond to the owner entity type(s).
– The primary key of R is the combination of the primary key(s) of the owner(s)
and the partial key of the weak entity type W, if any.

• Example: Create the relation DEPENDENT in this step to correspond


to the weak entity type DEPENDENT.
– Include the primary key SSN of the EMPLOYEE relation as a foreign key
attribute of DEPENDENT (renamed to ESSN).
– The primary key of the DEPENDENT relation is the combination {ESSN,
DEPENDENT_NAME} because DEPENDENT_NAME is the partial key of
DEPENDENT.

Slide 15
Figure 9.3 Illustration of some mapping steps. (a) Entity relations after step 1. (b) Additional weak entity
relation after step 2. (c) Relationship relations after step 5. (d) Relation representing multivalued attribute after step 6.

Result of Step 2

Slide 16
Binary Multivalued N-ary
Entities
relationships attributes relationships

1:1 1:N M:N

Slide 17
ER-to-Relational Mapping Algorithm (contd.)

• Step 3: Mapping of Binary 1:1 Relation Types


– For each binary 1:1 relationship type R in the ER schema, identify the relations
S and T that correspond to the entity types participating in R.
• There are three possible approaches:
1. Foreign Key ( 2 relations) approach: Choose one of the relations-say S-and
include a foreign key in S the primary key of T. It is better to choose an entity
type with total participation in R in the role of S.
• Example: 1:1 relation MANAGES is mapped by choosing the participating
entity type DEPARTMENT to serve in the role of S, because its participation
in the MANAGES relationship type is total.
2. Merged relation (1 relation) option: An alternate mapping of a 1:1
relationship type is possible by merging the two entity types and the
relationship into a single relation. This may be appropriate when both
participations are total.
3. Cross-reference or relationship relation ( 3 relations) option: The third
alternative is to set up a third relation R for the purpose of cross-referencing
the primary keys of the two relations S and T representing the entity types.
Slide 18
Step 3 – Approach 1 - Result

Slide 19
Binary Multivalued N-ary
Entities
relationships attributes relationships

1:1 1:N M:N

Slide 20
ER-to-Relational Mapping Algorithm (contd.)

• Step 4: Mapping of Binary 1:N Relationship Types.


– For each regular binary 1:N relationship type R, identify the relation S that
represent the participating entity type at the N-side of the relationship type.
– Include as a foreign key in S the primary key of the relation T that represents
the other entity type participating in R.
– Include any simple attributes of the 1:N relation type as attributes of S.

• Example: 1:N relationship types WORKS_FOR, CONTROLS, and


SUPERVISION in the figure.
– For WORKS_FOR we include the primary key DNUMBER of the DEPARTMENT
relation as foreign key in the EMPLOYEE relation and call it DNO.

• An alternative approach is to use a Relationship relation (cross


referencing relation) – this is rarely done.
Slide 21
Step 4 Result

Slide 22
Binary Multivalued N-ary
Entities
relationships attributes relationships

1:1 1:N M:N

Slide 23
• Step 5: Mapping of Binary M:N Relationship Types.
– For each regular binary M:N relationship type R, create a new relation S to
represent R. This is a relationship relation.
– Include as foreign key attributes in S the primary keys of the relations that
represent the participating entity types; their combination will form the primary
key of S.
– Also include any simple attributes of the M:N relationship type (or simple
components of composite attributes) as attributes of S.

• Example: The M:N relationship type WORKS_ON from the ER diagram


is mapped by creating a relation WORKS_ON in the relational
database schema.
– The primary keys of the PROJECT and EMPLOYEE relations are included as
foreign keys in WORKS_ON and renamed PNO and ESSN, respectively.
– Attribute HOURS in WORKS_ON represents the HOURS attribute of the relation
type. The primary key of the WORKS_ON relation is the combination of the
foreign key attributes {ESSN, PNO}.
Slide 24
Figure 9.3 Illustration of some mapping steps. (a) Entity relations after step 1. (b) Additional weak entity relation after step 2. (c)
Relationship relations after step 5. (d) Relation representing multivalued attribute after step 6.

Result of Step 5

Slide 25
Binary Multivalued N-ary
Entities
relationships attributes relationships

Slide 26
• Step 6: Mapping of Multivalued attributes.
– For each multivalued attribute A, create a new relation R.
– This relation R will include an attribute corresponding to A, plus the primary
key attribute K-as a foreign key in R-of the relation that represents the entity
type of relationship type that has A as an attribute.
– The primary key of R is the combination of A and K. If the multivalued
attribute is composite, we include its simple components.

• Example: The relation DEPT_LOCATIONS is created.


– The attribute DLOCATION represents the multivalued attribute LOCATIONS of
DEPARTMENT, while DNUMBER-as foreign key-represents the primary key of
the DEPARTMENT relation.
– The primary key of R is the combination of
{DNUMBER, DLOCATION}.

Slide 27
Figure 9.3 Illustration of some mapping steps. (a) Entity relations after step 1. (b) Additional weak entity relation after step 2. (c)
Relationship relations after step 5. (d) Relation representing multivalued attribute after step 6.

Result of Step 6
Slide 28
Figure 9.2 Result of mapping the COMPANY ER schema into a relational database schema.

Slide 29
Binary Multivalued N-ary
Entities
relationships attributes relationships

Slide 30
• Step 7: Mapping of N-ary Relationship Types.
– For each n-ary relationship type R, where n>2, create a new relationship S to
represent R.
– Include as foreign key attributes in S the primary keys of the relations that
represent the participating entity types.
– Also include any simple attributes of the n-ary relationship type (or simple
components of composite attributes) as attributes of S.

• Example: The relationship type SUPPLY in the ER on the next slide.


– This can be mapped to the relation SUPPLY shown in the relational schema,
whose primary key is the combination of the three foreign keys {SNAME,
PARTNO, PROJNAME}

Slide 31
FIGURE 3.17 TERNARY RELATIONSHIP: SUPPLY

Slide 32
Mapping the n-ary relationship type SUPPLY

Slide 33
Summary of Mapping constructs and
constraints

Slide 34
Chapter Summary
• ER-to-Relational Mapping Algorithm
– Step 1: Mapping of Regular Entity Types
– Step 2: Mapping of Weak Entity Types
– Step 3: Mapping of Binary 1:1 Relation Types
– Step 4: Mapping of Binary 1:N Relationship Types.
– Step 5: Mapping of Binary M:N Relationship Types.
– Step 6: Mapping of Multivalued attributes.
– Step 7: Mapping of N-ary Relationship Types.

Slide 35
In Class Exercise

• Convert the following ER Diagram into Schema representation.


Indicate all of the referential constraints.

Slide 36
In Class Exercise

• Convert the following ER Diagram into Schema representation.


Indicate all of the referential constraints.

Slide 37
Intro to Participation Constraints

• Every Employee must work for Department


• Therefore, every Employee must participate in a Works For
relationship with a Department
• An Employee can’t exist without a Dept.
– This is called TOTAL PARTICIPATION

• An Employee may manage a Dept.


• Not all Employees participate in the Manages relationship; only some
do
– This is called PARTIAL PARTICIPATION

Slide 38
Participation Constraints

• “Specifies whether the existence of an entity depends on its


being related to another entity via the relationship type”
• Minimum number of relationship instances that each entity
can participate in
• a.k.a. “minimum cardinality constraint”

• 2 Types
– Total Participation – existence dependency
– Partial Participation – some sub-set of entity set has dependency

Slide 39
Total Participation Notation – Double Line

Slide 40
Mixed Participation

Slide 41
Cardinality Ratio

• Identify the cardinality ratio in the following relationships. State any


assumptions you make
Entity 1 Cardinality Ratio Entity 2
1. Student SocialSecurityCard
2. Student Teacher
3. ClassRoom Wall
4. Country CurrentPresident
5. Course TextBook

Item (that can be


6. found in an Order
order)
7. Student Class

8. Class Instructor

9. Instructor Office
10. E-bay Auction
E-bay bid
item

Slide 42
Exam Review

• Know Your Definitions (e.g schema, fields, records, normalization…)


• Cardinality
• ER Modelling
• Normalization
• Converting ER to Schema Representation

Slide 43

You might also like