Database Reference
In-Depth Information
t
is a variable then
K
l
is
the position of this variable in the Cartesian product
r
C
; otherwise if
t
l
=
[
S
]=[
K
1
,...,K
n
]
, where, for each 1
≤
l
≤
n
,if
t
l
∈
t
i
j
∈
t
1
then
K
l
=
j
. In the third column of this table, we have the family of operations
of the R-algebra used to define the database mappings in the
DB
category. The
identity functions in this family can be considered as special cases of the injective
functions.
N
+
Based on this theorem, we are able to define a R-algebra
α
of operads in Defini-
tion
10
, Sect.
2.4.1
, in a standard way (as the relational algebras in Definition
31
)as
follows:
Corollary 19
(
i
.
e
.,
the relational symbols
)
has the signature Σ
α
composed of k-ary operators q
i
∈
An R-algebra α with the variables in
R
O(r
i
1
,...,r
im
i
,r
i
) such
that α(q
i
) is one of the following functions
(
from Theorem
9
):
1.
If m
i
≥
2
then we have the Cartesian m
i
-ary function
α(q
i
)
=
f
(m
i
)
⊗
:
α(r
i
1
)
×···×
α(r
im
i
)
→
α(r
i
)
;
otherwise
(
m
i
=
:
→
1),
we have the function α(q
i
)
α(r
11
)
α(r
i
) such that
id, in, in
−
1
,f
α(r
11
),t
}
∈{
;
2.
Each relational symbol
(
a variable
)
r
α(q
i
)
∈
⊆R
T
α
X
;
X
is a term in
3.
Given the terms t
i
∈
T
α
X
,
for
1
≤
≤
i
m
i
,
and the operator q
i
,
q
i
(t
1
,...,t
m
i
)
∈
T
α
X.
We define the evaluation of terms in
T
α
X
,
for X
=R
,
by extending the assignment
_
=
α
:R→
Υ
to all terms by its unique extension
_
#
:
T
α
X
→
Υ
,
such that
:
4.
If t
i
=
q
i
(r
i
1
,...,r
im
i
)
∈
T
α
X then
t
i
#
is the image of the function
α(q
i
)
:
α(r
i
1
)
×···×
α(r
im
i
)
→
α(r
i
).
5.
If t
i
=
q
i
(t
i
1
,...,t
im
i
)
∈
T
α
X then
t
i
#
is the image of the function
α(q
i
)
α(t
i
1
)
α(t
im
i
)
.
×···×
Proof
Let us show that each function
f
:
R
1
×···×
R
k
→
R
, with
N
=
ar(R
1
)
+
···+
ar(R)
, is a composition of the operations of the signature
Σ
α
of
the R-algebra
α
. In fact,
ar(R
k
)
,
n
=
◦
f
(k)
⊗
in
−
1
f
=
in
◦
π
[
N
+
1
,...,N
+
n
]
◦
f
R
Cn
,t
n
◦···◦
f
R
C
1
,t
1
◦
,
where
1.
f
(k)
⊗
:
R
1
×···×
R
k
→
R
C
is a Cartesian
k
-ary function;
2.
in
−
1
:
R
C
R
C
0
is an inverse-inclusion function such that for any
d
=
≤
i
≤
k
, we define
in
−
1
(
d
)
=
d
1
&
···
&
d
k
∈
R
C
,
d
i
∈
R
i
for 1
if
f(
d
1
,...,
d
k
)
=
;
d
otherwise;