Database Reference
In-Depth Information
Takes1
that is intended to provide a copy of
Takes
, and of an additional bi-
nary relational symbol
Student
that associates each student name with a student
id, i.e.,
S
B
=
Takes1
(x
n
,x
c
),
Student
(x
n
,y)
,
B
=∅
.
Schema
consists of one binary relational symbol
Enrolment
that asso-
ciates student ids with the courses the student takes, and of an additional bi-
nary relational symbol
Teaching
that associates professor names with the
courses, i.e.,
S
D
={
Enrolment
(y,x
c
),
Teaching
(x
p
,x
c
)
D
}
,
Σ
D
=∅
. Schema
C
consists of one ternary relational symbol
Learning
that associates stu-
dent name with courses he/she takes and professor names, and of an addi-
tional unary relational symbol
Professor
with professor names, i.e.,
S
C
=
{
Learning
(x
n
,x
c
,x
p
),
Professor
(x
p
)
}
, and with integrity constraints
Σ
C
=
∀
x
p
Professor
(x
p
)
x
c
Learning
(x
n
,x
c
,x
p
)
,
⇒∃
x
n
∃
z
Learning
(x
n
,x
c
,z
1
)
∧
Learning
(x
n
,x
c
,z
2
)
∀
x
n
∀
x
c
∀
∀
y
z
2
,
⇒
z
1
=
where the second constraint defines the tuple
(x
n
,x
c
)
as a key of the relation
Learning
.
Let us consider now the following schema mappings
M
AB
:
A
→
B
,
M
BD
:
B
→
D
,
M
AC
:
A
→
C
, where
M
AB
=
∀
x
n
∀
x
c
Takes
(x
n
,x
c
)
⇒
Takes1
(x
n
,x
c
)
,
∀
x
n
∃
y
∀
x
c
Takes
(x
n
,x
c
)
⇒
Student
(x
n
,y)
,
and
M
CD
:
C
→
D
that is, by Skolemization of
∃
y
,
M
AB
=
∀
x
c
Takes
(x
n
,x
c
)
⇒
Takes1
(x
n
,x
c
)
,
x
n
∀
x
c
Takes
(x
n
,x
c
)
⇒
Student
x
n
,f
1
(x
n
)
,
∀
x
n
∀
M
BD
=
∀
y
Takes1
(x
n
,x
c
)
∧
Student
(x
n
,y)
x
n
∀
x
c
∀
⇒
Enrolment
(y,x
c
)
,
M
AC
=
∀
x
p
Takes
(x
n
,x
c
)
⇒
Learning
(x
n
,x
c
,x
p
)
,
x
n
∀
x
c
∃
that is, by Skolemization of
∃
x
p
,
M
AC
=
∀
x
c
Takes
(x
n
,x
c
)
⇒
Learning
x
n
,x
c
,f
2
(x
n
,x
c
)
,
x
n
∀
M
CD
=
∀
x
p
Learning
(x
n
,x
c
,x
p
)
⇒
Teaching
(x
p
,x
c
)
.
x
n
∀
x
c
∀
Then the composition
M
AD
:
A
→
D
, obtained by the composition (with the algo-
rithm in [
5
]) of
M
AB
and
M
BD
, is equal to the SOtgd:
(i)
∃
f
1
(
∀
x
n
∀
x
c
(
Takes
(x
n
,x
c
)
⇒
Enrolment
(f
1
(x
n
),x
c
)))
.