DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

43
IM ISU 1 Database Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems

Transcript of DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

Page 1: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 1Database

Chapter 7

ER- and EER-to-Relational

Mapping

Fundamentals of

Database Systems

Page 2: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 2Database

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).

Page 3: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 3Database

ER-to-Relational Mapping Algorithm

STEP 1: Regular entity type mapping» For each regular (strong) entity type E in the ER

schema, create a relation R that includes all the simple attributes of E

» Include only the simple component attributes of a composite attribute

» Choose one of the key attributes of E as 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

Page 4: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 4Database

ER-to-Relational Mapping (cont.)

Page 5: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 5Database

ER-to-Relational Mapping (cont.)

Page 6: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 6Database

ER-to-Relational Mapping (cont.)

multivalued attribute

Page 7: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 7Database

ER-to-Relational Mapping (cont.)

Page 8: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 8Database

ER-to-Relational Mapping (cont.) STEP 2: Weak entity type mapping

» For each weak entity type W with owner entity type E, create a relation R, and include all simple attributes (or simple components of composite attributes) of W as attributes of R

» Include as foreign key attributes of R the primary key attribute(s) of the relation(s) corresponding to E

» 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

Page 9: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 9Database

ER-to-Relational Mapping (cont.)

Page 10: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 10Database

ER-to-Relational Mapping (cont.) STEP 3: Mapping 1:1 relationship

» For each binary 1:1 relationship type R, identify the relations S and T that correspond to the entity types participating in R

» Choose one of the relations—S, say—and include as 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

» Include all the simple attributes (or simple components of composite attributes) of the 1:1 relationship type R as attributes of S

Page 11: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 11Database

ER-to-Relational Mapping (cont.)

ST

Page 12: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 12Database

ER-to-Relational Mapping (cont.) STEP 4: Mapping 1:N relationship

» For each regular binary 1:N relationship type R, identify the relation S that corresponds to the N-side of the relationship type

» Include as foreign key in S the primary key of the relation T that represents the other entity type in R

» Include any simple attributes (or simple components of composite attributes) of the 1:N relationship type as attributes of S

Page 13: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 13Database

ER-to-Relational Mapping (cont.)

Page 14: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 14Database

ER-to-Relational Mapping (cont.)

S T

Page 15: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 15Database

ER-to-Relational Mapping (cont.)

S

T

Page 16: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 16Database

ER-to-Relational Mapping (cont.) STEP 5: Mapping M:N relationship

» For each binary M:N relationship type R, create a new relation S to represent R

» 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

» Include any simple attributes of the M:N relationship type (or simple components of composite attributes) as attributes of S

» Note: We cannot represent an M:N relationship type by a single foreign key attribute in one of the participating relations

Page 17: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 17Database

ER-to-Relational Mapping (cont.)

Page 18: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 18Database

ER-to-Relational Mapping (cont.)

STEP 6: Mapping multivalued attributes» For each multivalued attribute A, create a new rel

ation R » 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 or 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

Page 19: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 19Database

ER-to-Relational Mapping (cont.)

Page 20: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 20Database

ER-to-Relational Mapping (cont.)

STEP 7: Mapping n-ary relationship» For each n-ary relationship type R, where n > 2, c

reate a new relation S to represent R » Include as foreign key attributes in S the primary

keys of the relations that represent the participating entity types

» Include any simple attributes of the n-ary relationship type (or simple components of composite attributes) as attributes of S

» The primary key of S is usually a combination of all the foreign keys

Page 21: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 21Database

ER-to-Relational Mapping (cont.)

Page 22: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 22Database

ER-to-Relational Mapping (cont.)

Summary ER-to-Relational Models ER Model Relational Model

Entity type "Entity" relation

1:1 or 1:N relationship type Foreign key (or "relationship" relation)

M:N relationship type "Relationship" relation and two foreign keys

n-ary relationship type "Relationship" relation and n foreign keys

Simple attribute Attribute

Composite attribute Set of simple component attributes

Multivalued attribute Relation and foreign key

Value set Domain

Key attribute Primary (or secondary) key

Page 23: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 23Database

EER-to-Relational Mapping

Mapping of Specialization (or Generalization) STEP 8:

» Convert each specialization with m subclasses {S

1, S2, . . ., Sm} and (generalized) superclass C, where the attributes of C are {k, a1, . . ., an} and k is the (primary) key, into relation schemas using one of the four following options:

Page 24: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 24Database

EER-to-Relational Mapping (cont.) Option 8A: Multiple relations--Superclass and subclass

es» Create a relation L for C with attributes Attrs(L) = {k, a1, . . .,

an} and PK(L) = k. » Create a relation Li for each subclass Si, 1 i m with the

attributes Attrs(Li) = {k} {attributes of Si} and PK(Li) = k. » Note: This option works for any constraints on the specializa

tion: disjoint or overlapping, total or partial. But the constraint must hold for each Li.

<k>(Li) <k>(L)

Page 25: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 25Database

Example of Option 8A

Page 26: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 26Database

EER-to-Relational Mapping (cont.)

Option 8B: Multiple relations--Subclasses only» Create a relation Li for each subclass Si, 1 i m, w

ith the attributes Attrs(Li) = {attributes of Si} {k, a1, . . ., an} and PK(Li) = k.

» Note: This option works well only when both the disjoint and total constraints hold.

– If the specialization is not total, an entity that does not belong to any of the subclasses Si is lost.

– If the specialization is not disjoint, an entity belonging to more than one subclass will have its inherited attributes from the superclass C stored redundantly in more than one Li

Page 27: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 27Database

Example of Option 8B

Page 28: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 28Database

EER-to-Relational Mapping (cont.)

Option 8C: Single relation with one type attribute» Create a single relation L with attributes Attrs(L) = {k, a1, . . ., an} {attributes of S1} . . . {attributes of Sm} {t} and PK(L) = k.

» Note: This option is for a specialization whose subclasses are disjoint, and t is a type (or discriminating) attribute that indicates the subclass to which each tuple belongs, if any.

» Warning: This option has the potential for generating a large number of null values.

Page 29: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 29Database

Example of Option 8C

Page 30: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 30Database

EER-to-Relational Mapping (cont.)

Option 8D: Single relation with multiple type attributes» Create a single relation schema L with attributes

Attrs(L) = {k, a1, . . ., an} {attributes of S1} . . . {attributes of Sm} {t1, t2, . . ., tm} and PK(L) = k.

» Note: This option is for a specialization whose subclasses are overlapping (but will also work for a disjoint specialization), and each ti, 1 i m, is a Boolean attribute indicating whether a tuple belongs to subclass Si.

Page 31: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 31Database

Example of Option 8D

Page 32: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 32Database

EER-to-Relational Mapping (cont.)

After notes:» Options 8A and 8B can be called the multiple

relation options, whereas options 8C and 8D can be called the single relation options.

Page 33: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 33Database

EER-to-Relational Mapping (cont.) Mapping of Shared Subclasses

A shared subclass is a subclass of several superclasses. These classes must all have the same key attribute

We can apply any of the options discussed in step 8 to a shared subclass, although usually option 8A is used.

Example» In Figure 7.6, options 8C and 8D are used for the

shared subclass STUDENT_ASSISTANT in EMPLOYEE and STUDENT, respectively

Page 34: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 34Database

EER-to-Relational Mapping (cont.)

Page 35: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 35Database

EER-to-Relational Mapping (cont.)

Page 36: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 36Database

EER-to-Relational Mapping (cont.)

Step 9: Mapping of Categories A category is a subclass of the union of two o

r more superclasses that can have different keys because they can be of different entity types

For mapping a category whose defining superclasses have different keys» It is customary to specify a new key attribute, call

ed a surrogate key

Page 37: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 37Database

EER-to-Relational Mapping (cont.)

» Create a relation schema corresponding to the category and include any attributes of the category in this relation

» Add the surrogate key attribute as foreign key to each relation corresponding to a superclass of the category

Example» OWNER category shown in Figure 4.8, which is

a subset of the union of three entity types PERSON, BANK, and COMPANY

Page 38: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 38Database

EER-to-Relational Mapping (cont.)

Page 39: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 39Database

EER-to-Relational Mapping (cont.)

Page 40: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 40Database

EER-to-Relational Mapping (cont.)

For a category whose superclasses have the same key» The mapping process is similar but there is no need

for a surrogate key

Example» VEHICLE category in Figure 4.8

Page 41: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 41Database

EER-to-Relational Mapping (cont.)

Page 42: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 42Database

EER-to-Relational Mapping (cont.)

Page 43: DatabaseIM ISU1 Chapter 7 ER- and EER-to-Relational Mapping Fundamentals of Database Systems.

IM ISU 43Database

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.

Mapping EER Model Constructs to Relations Step 8: Options for Mapping Specialization or Generalization. Step 9: Mapping of Union Types (Categories).