Database Reference
In-Depth Information
we will show that any two isomorphic simple objects (simple databases) in
DB
are
observationally equivalent.
Remark
For each two objects
A
and
B
,
A
B
iff
TA
TB
.
is
−
A
:
TB
is a com-
position of three isomorphism and hence it is an isomorphism as well. Vice versa, if
is
In fact, if
is
:
A
→
B
is an isomorphism then
is
B
◦
is
◦
TA
→
TB
is an isomorphism then
is
−
B
◦
:
TA
→
is
◦
is
A
:
A
→
B
is a composition of
three isomorphism and hence it is an isomorphism as well.
Example 20
(S
A
,Σ
A
)
with
S
A
={
StudentRome
(x
1
,
x
2
),
StudentMilan
(x
1
,x
2
),
StudentFlorence
(x
1
,x
2
),
StudentRMF
(x
1
,
x
2
)
Consider the schema
A
=
and with binary relational symbols for students in the cities Rome, Milan and
Florence (that associate each student name with a student id) and for all students in
these three cities, and the schema
}
B
=
(S
B
,
∅
)
such that
S
B
={
Student
(x
1
,x
2
)
}
intended to unify all students from these three cities.
Σ
A
is a set of tuple-generating
constraints
∀
x
2
StudentRome
(x
1
,x
2
)
r
(
0
,
1
)
,
x
1
∀
∧¬
StudentRMF
(x
1
,x
2
)
⇒
x
2
StudentMilan
(x
1
,x
2
)
r
(
0
,
1
)
,
∀
x
1
∀
∧¬
StudentRMF
(x
1
,x
2
)
⇒
x
2
StudentFlorence
(x
1
,x
2
)
(
0
,
1
)
.
∀
x
1
∀
∧¬
StudentRMF
(x
1
,x
2
)
⇒
r
Consequently, we will consider only mapping interpretations
α
such that
α(
Student
)
=
α(
StudentRMF
)
=
α(
StudentRome
)
∪
α(
StudentMilan
)
∪
α(
StudentFlorence
).
Then,
TA
=
T
α(
StudentRome
)
∪
α(
StudentMilan
)
∪
α(
StudentFlorence
)
∪
α(
StudentRFM
)
=
T
α(
Student
)
=
TB
and, consequently, the database-instances
A
and
B
are isomorphic, that is,
A
B
.
Let us consider how to define the isomorphic arrow
f
:
A
→
B
in the category
DB
.
First of all, while in the construction of
TA
we can use the
union
of conjunctive
queries, i.e., the
disjunctive
logical formula
StudentRome
(x
1
,x
2
)
∨
StudentMilan
(x
1
,x
2
)
∨
StudentFlorence
(x
1
,x
2
),