0% found this document useful (0 votes)
17 views35 pages

ER & EER To Relational Mapping

The document outlines the steps for mapping Entity-Relationship (ER) and Enhanced Entity-Relationship (EER) models to relational schemas. It details the processes for handling regular and weak entities, various types of relationships (1:1, 1:N, M:N, n-ary), multi-valued attributes, and super-class/subclass relationships. Each step specifies how to create relations, establish primary and foreign keys, and manage attributes effectively.

Uploaded by

Harshita Sharma
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)
17 views35 pages

ER & EER To Relational Mapping

The document outlines the steps for mapping Entity-Relationship (ER) and Enhanced Entity-Relationship (EER) models to relational schemas. It details the processes for handling regular and weak entities, various types of relationships (1:1, 1:N, M:N, n-ary), multi-valued attributes, and super-class/subclass relationships. Each step specifies how to create relations, establish primary and foreign keys, and manage attributes effectively.

Uploaded by

Harshita Sharma
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/ 35

ER & EER to

Relational Mapping

Ashish Kumar
Dept. of CSE
Manipal University Jaipur

1
Step 1:
For each regular entity type E
Create a relation R that includes all the
simple attributes of E.
Include all the simple component
attributes of composite attributes.
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.

2
3
4
Step 2:
For each weak entity type W with owner
entity type E
Create a relation R, and include all simple
attributes and simple components of
composite attributes of W as attributes of R.
In addition, include as foreign key attributes
of R, the primary key attribute(s) of the
relation(s) that correspond to the owner
entity type(s).

5
6
7
Step 3:
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, say S, 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 the simple attributes of the 1:1
relationship type R as attributes of S.
If both participations are total, we may
merge the two entity types and the8
9
10
Step 4:
For each regular binary 1:N relationship
type R
Identify the relation S that represents the
participating entity type at the N-side of
the relationship type.
Include as foreign key in S the primary
key of the relations T that represents the
other entity type participating in R.
Include any simple attributes of the 1:N
relationship type as attributes of S.

11
12
13
Step 5:
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.
Also, include any simple attributes of the
M:N relationship type as attributes of S.

14
15
16
Step 6:
For each multi-valued attribute A
Create a new relation R that includes 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 a multi-valued attribute is
composite, we include its components.

17
18
19
Step 7:
For each n-ary relationship type R, n>2
Create a new relation S to represent R.
Include as foreign key attributes in the S
the primary keys of the relations that
represent the participating entity types.
Also include any simple attributes of the
n-ary relationship types as attributes of S.
The primary key for S is usually a
combination of all the foreign keys that
reference the relations representing the
participating entity types.
20
Step 7:
However, if the participation constraint
(min,max) of one of the entity types E
participating in the R has max =1, then
the primary key of S can be the single
foreign key attribute that references the
relation E’ corresponding to E
This is because , in this case, each entity e
in E will participate in at most one
relationship instance of R and hence can
uniquely identify that relationship
instance.
21
22
23
Step 8:
To convert each super-class/subclass
To convert this type of relationship into a
relational schema you must use one of the
four options available.

Let C be the super-class, K its primary key


and A1, A2, …, An its remaining attributes
and let S1, S2, …, Sm be the sub-classes.

24
Option 8A (multiple relation option):
Create a relation L for C with attributes
Attrs(L) = {K, A1, A2, …, An} and
PK(L) = K.
Create a relation Li for each subclass Si, 1
< i < m, with the attributes
ATTRS(Li) = {K} U {attributes of Si}
and
PK(Li) = K.
This option works for any constraints:
disjoint or overlapping; total or partial.
25
26
27
Option 8B (multiple relation option):
Create a relation Li for each subclass Si, 1
< i < m, with
ATTRS(Li) = {attributes of Si} U {K, A1,
A2, …, An}
PK(Li) = K
This option works well only for disjoint and
total constraints.
If not disjoint, redundant values for inherited
attributes.
If not total, entity not belonging to any sub-class
is lost.
28
29
30
Option 8c (Single Relation Option)
Create a single relation L with attributes
Attrs(L) = {K, A1, …, An} U
{attributes of S1} U… U
{attributes of Sm} U {T}
and PK(L)=K
This option is for specialization whose
subclasses are DISJOINT, and T is a type
attribute that indicates the subclass to which
each tuple belongs, if any. This option may
generate a large number of null values.
Not recommended if many specific attributes
are defined in subclasses (will result in many31
32
Option 8d (Single Relation Option)
Create a single relation schema L with
attributes
Attrs(L) = {K, A1, …, An} U
{attributes of S1} U… U
{attributes of Sm} U {T1,
…, Tn}
and PK(L)=K
This option is for specialization whose
subclasses are overlapping, and each Ti, 1
< i < m, is a Boolean attribute indicating
whether a tuple belongs to subclass Si.
33
34
Thank You

35

You might also like