Database Reference
In-Depth Information
generally,
TA
is not isomorphic in
DB
to
A
Σ
D
(T A)
(in fact,
T(TA)
=
TA
TA
TA
=
TA
TTA
=
A
Σ
D
(T A)
T(A
Σ
D
(T A))
, i.e.,
T(TA)
=
T(A
Σ
D
(T A))
).
•
Cartesian product
×:
Set
→
Set
is translated into the matching operation (tensor
product)
DB
.
This translation is based on observations that any
n
-ary algebraic operator
o
i
∈
Σ
R
is represented as a function (an arrow in
Set
)
⊗:
DB
−→
o
i
:
T
P
X
n
→
T
P
X
which using
the
n
-fold Cartesian product
×···×
T
P
X
as domain, while such an operator
in the
DB
category is represented by an atomic view-mapping
f
o
i
={
T
P
X
q
⊥
}∪{
q
j
:
α(r
i
1
)
for each subset of relational sym-
bols
r
i
1
,...,r
in
∈
A
α
A
}:
TA
→
TA
, where
α
#
:
T
P
X
→
TA
is the unique
extension (of the initial algebra semantics in the diagram in the previous section)
of an R-algebra (i.e., an assignment)
α
×···×
α(r
in
)
→
α
#
(o
i
(r
i
1
,...,r
in
))
|
:
X
→
A
⊆
TA
for the relational symbols
in
X
.
Thus, this algebraic operator
o
i
is translated into an arrow from
TA
into
TA
.
n
In fact, if we replace
×
by
⊗
in the
n
-fold
T
P
X
×···×
T
P
X
, we obtain (for a
n
n
⊗···⊗
=
∩···∩
=
=
simple database
A
)
TA
TA
T(TA)
T(TA)
T(TA)
TA
.
•
Any disjoint union endofunctor
X
_
:
Set
→
Set
(used for a construction of the
syntax endofunctor
X
Σ
R
:
Set
→
Set
) is translated into the
DB
endofunctor
A
Σ
D
:
DB
−→
DB
(the coproduct
in
Set
is translated by the coproduct
in
DB
).
We have only finitary operators
o
i
∈
Σ
R
and hence to model them we can
use only the finite databases, i.e., finite simple objects
A
∈
Ob
DB
. Thus, the
o
i
:
A
ar(o
i
)
set of all functions obtained from the signature
Σ
R
,
→
TA
, can
be internalized in
DB
by a homomorphism
o
i
∈
Σ
R
:
Σ
D
(A)
→
TA
, where,
=
o
i
∈
Σ
R
X
ar(o
i
)
, here in
DB
we have
analogously as in
Set
where
Σ
R
(X)
=
o
i
∈
Σ
R
A
ar(o
i
)
.
Consequently, for a finite
A
we obtain
Σ
D
(A)
ar
(o
i
)
A
A
=
Σ
D
(A)
=
⊗···⊗
TA
=
TA,
o
i
∈
Σ
R
o
i
∈
Σ
R
and hence the endofunctor
Σ
D
is a restriction of the power-view endofunctor
T
DB
to finite objects in
DB
.
It is well known [
14
] that for any monoidal category
C
with a monoidal product
:
DB
→
⊗
,
P
OP
any two functors
F
1
:
→
C
and
F
2
:
P
→
C
have a tensor functorial product
F
1
⊗
P
F
2
=
p
∈
P
(F
1
p)
(F
2
p)
.
In what follows, we will consider the
simple
databases only: these results then
are extended to all complex databases, by considering that they are all finite
(co)products (equivalent, up to isomorphism, to a disjoint union) of the simple
databases.
⊗