Algebra Relacional
Algebra Relacional
Algebra Relacional
Nombre P = Alfa
Categora P = 10, , 50
Ciudad P = Alfa
n
i=1
D
i
. Bajo esta perspectiva, los
atributos no necesariamente deben llevar nombre, a lo sumo interesa la cantidad de dominios, denominada aridad de la
relaci on.
Esta perspectiva es denominada por algunos autores como no nombrada.
Desde un punto de vista computacional, podemos relajar la condici on de orden, puesto que no resulta relevante: cualquier
permutaci on de dominios representa la misma informaci on.
Para ello, tenemos que distinguir entre atributo y dominio. El atributo representa un dato particular de un objeto. Lleva
nombre propio y un dominio asociado de donde toma sus valores, como por ejemplo: enteros, cadenas de caracteres,
valores booleanos, etc.
El conjunto de atributos determina la constituci on de la relaci on, y tal conjunto es llamado esquema de la relaci on. Al
conjunto de elementos que conforman la relaci on en un determinado instante del tiempo se lo denomina instancia de la
relaci on.
Cada elemento de la instancia de la relaci on es llamado tupla. Una tupla t es denida como una funci on o aplicaci on sobre
el conjunto de atributos, donde cada valor que toma la tupla es obtenido de un conjunto de constantes, correspondiente al
dominio del atributo. Formalmente:
Sean:
U = A
1
, A
2
, . . . , A
n
dom : U D
1
, D
2
, . . . , D
n
D =
n
i=1
D
i
OA y BDI - Universidad Nacional de San Luis 2
Una tupla t se dene como:
t : U D tal que t(A
i
) = v
s
v
s
dom(A
i
), para i = 1 . . . n
As, una relaci on se dene mediante su esquema, y la instancia se dene como un conjunto de aplicaciones o funciones
totales, del siguiente modo:
r t/t : U D t(A
i
) dom(A
i
)
Notar que, hablar de esquema e instancia de relaci on es an alogo al concepto tipo - valor de una variable: la declaraci on de
una variable se corresponde con la especicaci on del esquema de una relaci on; y el valor de la variable en un instante de
tiempo dado se corresponde con el concepto de instancia de la relaci on .
Esta perspectiva es denominada por algunos autores como nombrada.
Ejemplo:
Para la relaci on denida en el primer ejemplo, el esquema de la relaci on es:
Proveedores = #Proveedor, Nombre P, Categora P, Ciudad P
Para cada atributo del esquema tenemos los siguientes dominios:
dom(#Proveedor) = Alfa num erico
dom(Nombre P) = Alfa
dom(Categora P) = 10, . . . , 50
dom(Ciudad P) = Alfa
X
(t) = t
|X
Observaci on: cuando X es un conjunto vaco,
X
(t) = siendo el valor nulo.
2
Recordar lo visto en Estructuras de Datos y Algoritmos sobre restricci on de una funci on a un subconjunto del dominio
OA y BDI - Universidad Nacional de San Luis 3
Desde una perspectiva no nombrada, una nupla es una secuencia de valores. Sea R una relaci on de aridad n, y sea m una
nupla de R . Utilizaremos la notaci on m(i) para referirnos a la i- esima componente de la nupla m; notar que m(i) D
i
.
Luego, si X = 'i
1
, i
2
, . . . , i
k
` con i
j
1, 2, . . . , n, i
j
< i
j+1
, la subnupla m(X) , tambi en denominada X-valor, se
dene como:
m(X) = (m(i
1
), m(i
2
), . . . , m(i
k
))
Resumiendo tenemos:
No nombrada Nombrada
Nuplas (secuencias ordenadas) Tuplas (funciones)
Dominios Atributos(nombre y dominio)
Relaci on (producto cartesiano y aridad) Relaci on (esquema e instancia)
3. El Modelo Relacional
El modelo de base de datos relacional maneja una unica componente, que es la relaci on. Una base de datos relacional
es un conjunto de relaciones que representan una realidad dada. Por lo tanto, para describir una base, desde laperspectiva
no nombrada, debemos especicar cu ales son las relaciones con sus respectivas aridades. Ydesde la perspectiva nombrada,
interesa distinguir entre el esquema de la base de datos, que especica la estructura de la misma, formado por un conjunto
de esquemas de relaciones; y la instancia de la base de datos, que especica el contenido actual, formado por un conjunto
de instancias de relaciones denidas seg un los esquemas antes mencionados.
Desde una perspectiva nombrada, los atributos son vistos como parte de la base de datos y pueden ser usados en los
lenguajes de consulta y/o actualizaci on y en la especicaci on de restricciones (dependencias). Y desde una perspectiva no
nombrada, los atributos son ignorados, y s olo la aridad es de inter es.
En este curso utilizaremos la siguiente notaci on:
Constantes: a, b, c
Atributos: A, B, C
Conjuntos de atributos: U, V, W, X
Esquemas de relaci on: R, S
Instancias de relaci on: r, s
Esquemas de base de datos : ,
Instancias de base de datos: /
, /
Tuplas: t, u
Para abreviar la notaci on, denotaremos con esq(r) al esquema de la instancia de relaci on r, y con inst(R) a una instancia
del esquema de relaci on R. Para denotar todas las instancias de relaciones con esquema R, usaremos la notaci on Rel(R).
4. Denici on del
Algebra Relacional
El
Algebra Relacional (AR) se dene como una 7-upla = 'U, D, dom, , /
, , ` donde:
1. U es un conjunto de atributos llamado Esquema de la Relaci on Universal, U = A
1
, A
2
, . . . , A
n
. A cada atributo
A
i
le corresponde un dominio D
i
de donde toma sus valores.
2. D es el conjunto formado por todos los dominios D
i
: D = D
1
, D
2
, . . . , D
n
.
3. dom es una funci on, dom : U D tal que dom(Ai) D.
4. es un conjunto de esquemas de relaci on, = R
1
, R
2
, . . . , R
p
, donde U =
p
i=1
R
i
. es llamado descompo-
sici on de U y conforma el Esquema de la Base de Datos.
5. /
= r
1
, r
2
, . . . , r
p
, donde cada r
i
es una instancia de relaci on
con esquema de relaci on R
i
, y conforma la Instancia de la Base de Datos.
6. es un conjunto de operadores relacionales que permiten comparar valores del dominio que sean compatibles. Se
utlizan los siguientes operadores relacionales: <, >, , , =, =. Con estos operadores se arman f ormulas seg un la
siguiente sintaxis:
T erminos:
Si A
i
U, entonces A
i
es t ermino.
Si c D
j
para alg un j, entonces c es un t ermino.
OA y BDI - Universidad Nacional de San Luis 4
Atomos de comparaci on
La expresi on T ermino T ermino es un atomo de comparaci on, donde .
F ormulas
Un atomo de comparaci on es una f ormula.
Si F
1
y F
2
son f ormulas, entonces: F
1
F
2
, F
1
F
2
, F
1
son f ormulas.
Nada m as es f ormula
Para interpretar estas f ormulas y obtener un valor de verdad Verdadero o Falso, es necesario darle sem antica a los
operadores de comparaci on y a los conectivos l ogicos. Entonces para:
Los operadores de comparaci on: se debe denir un orden total sobre cada dominio de atributo del esquema
universal.
Los operadores l ogicos: consideraremos las funciones
3
correspondientes a tales conectivos como com unmen-
te se conocen.
7. es un conjunto de operadores del AR cuyos operandos son las relaciones. La evaluaci on de estos operadores
devuelve como resultado una relaci on. Los operadores algebraicos se clasican en Primitivos y No primitivos
Los operadores algebraicos primitivos son seis: Proyecci on() Selecci on(), Uni on (), Diferencia (-), Producto
cartesiano extendido () y Renombre(). Los operadores algebraicos no primitivos son varios, pero nosotros s olo
veremos los siguientes: Intersecci on(), Ensamble Natural (), Ensamble con selecci on (
F
) y Divisi on().
Una Expresi on algebraica E, es una expresi on legalmente formada
4
, que dene una funci on desde un conjunto relaciones
a una unica relaci on. El esquema y la instancia de la relaci on resultante dependen de los esquemas y de las instancias
corrientes del conjunto de relaciones intervinientes en la expresi on.
Denotaremos con esq(E) al esquema de la relaci on resultante de la evaluaci on de E. Primero deniremos el esquema de
E en forma recursiva. Para la denici on de su instancia, veremos los operadores en detalle individualmente m as adelante.
Entonces denimos el esq(E) seg un las siguientes reglas:
1. Si E es r
i
entonces esq(E) es el esquema de relaci on para r
i
, esq(E) = esq(r
i
) = R
i
.
2. Si E es una relaci on constante, entonces el esq(E) es el esquema de la relaci on constante, esq(E) = esq(r
i
) = R
i
.
3. Si E = (E
1
E
2
), o E = (E
1
E
2
), o E = (E
1
E
2
), o E =
F
(E
1
), entonces el esq(E) = esq(E
1
).
4. Si E =
X
E
1
entonces esq(E) = X
5. Si E = (E
1
E
2
) entonces el esq(E) = esq(E
1
) esq(E
2
).
6. Si E = E
1
E
2
entonces el esq(E) = esq(E
1
) esq(E
2
).
7. Si E = E
1
F
E
2
entonces el esq(E) = esq(E
1
) m as
5
esq(E
2
)
8. Si E = E
1
E
2
entonces el esq(E) = esq(E
1
) mas esq(E
2
), con renombre de atributos.
9. Si E =
AiBi
(E
1
) entonces el esq(E) = esq(E
1
) A
i
B
i
.
Si E involucra las relaciones r
1
, r
2
, . . . , r
n
con esquemas R
1
, R
2
, . . . , R
n
, entonces E es la funci on:
E : Rel(R
1
) Rel(R
2
) Rel(R
n
) Rel(esq(E))
Cualquier relaci on resultante de la evaluaci on de una expresi on algebraica tiene asociado un esquema y una instancia de
relaci on, pero no un nombre, por lo que ella no pertenece al conjunto de relaciones que conforman la base de datos. Es
una relaci on temporal, que puede ser utilizada como operando de otras operaciones algebraicas s olo si la expresi on que la
dene es una subexpresi on de otra m as general que las abarque.
3
Es decir, las tablas de verdad conocidas
4
Mediante reglas sint acticas. Ver cada operador
5
Es m as porque van todos los atributos participantes; los repetidos se renombran autom aticamente
OA y BDI - Universidad Nacional de San Luis 5
5. Los operadores algebraicos
5.1. Los operadores primitivos
Los operadores algebraicos denominados primitivos, son aquellos para los que no hay una combinaci on de operadores
primitivos que produzcan el mismo resultado.
Un operador es considerado unario si toma una unica relaci on como operando y binario si toma dos relaciones como
operandos. Los operadores algebraicos primitivos y unarios son la Proyeccion, Selecci on y Renombre. Los operadores
algebraicos primitivos y binarios son Uni on, Diferencia y Producto Cartesiano.
PROYECCI ON
Sean R un esquema de relaci on, X un subconjunto de R y r una instancia de relaci on con esquema R. Denotamos con
X
(r) a la proyecci on de r sobre el conjunto X. La relaci on resultante tiene esquema X y su instancia est a conformada
por el conjunto de tuplas obtenidas proyectando todas las tuplas t de r a X. Ejemplos:
Proveedores = #Proveedor, Nombre P, Categora, Ciudad P
Prov :
#Proveedor Nombre P Categora P Ciudad P
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
#Proveedor,Nombre P
(Prov) :
Categora,Ciudad P
(Prov) :
# Proveedor Nombre P Categora P Ciudad P
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 30 Atenas
S5 Adams
2
Sea
X
(r) = s, luego tenemos los siguientes casos extremales:
X = entonces esq(s) = y s = .
X = esq(r) = R entonces esq(s) = esq(r) = R y s = r.
r = entonces esq(s) = X y s = .
SELECCI ON
Sean R un esquema de relaci on, r una instancia de relaci on con esquema R y F una f ormula, descripta en t erminos de
los atributos del esquema de la relaci on. Denotamos con
F
(r) a la selecci on de tuplas de r respecto de F. La relaci on
resultante tiene esquema R, y su instancia est a conformada por el conjunto de tuplas que cumplen con una condici on
establecida por medio de la evaluaci on de F.
Ejemplos:
Prov :
#Proveedor Nombre P Categora P Ciudad P
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 20 Atenas
OA y BDI - Universidad Nacional de San Luis 6
(Categora P=30)
(Prov) :
#Proveedor Nombre P Categora P Ciudad P
S3 Blake 30 Pars
2
Sea r s = v, luego tenemos los siguientes casos extremales:
esq(r) = entonces esq(v) = esq(s) = S y v = .
r = entonces v = .
RENOMBRE
Sean R un esquema de relaci on, r una instancia de relaci on con esquema R, A y B atributos tales que: A R y
B / R. Denotamos con
AB
(r) al cambio de nombre del atributo A por B. La relaci on resultante tiene esquema
(R A B). La instancia de la relaci on no vara.
OA y BDI - Universidad Nacional de San Luis 9
Ejemplo:
Prov :
#Proveedor Nombre P Categora P Ciudad
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
CiudadCiudad P
(Prov)
#Proveedor Nombre P Categora P Ciudad P
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
2
5.2. Los operadores no primitivos
Los siguientes operadores algebraicos son no primitivos y binarios.
INTERSECCI ON
Sean R un esquema de relaci on, r y s instancias de relaciones con esquema R. Denotamos con r s a la intersecci on
de tuplas de ambas relaciones. La relaci on resultante tiene esquema R, y su instancia est a conformada por el conjunto de
tuplas que pertenecen a r y a s.
Propiedades: conmutativo, asociativo.
Ejemplo:
Prov1 :
#Proveedor Nombre P Categora P Ciudad P
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
Prov2 :
#Proveedor Nombre P Categora P Ciudad P
S6 Jones 40 Londres
S2 Jones 10 Pars
S7 Adams 10 Roma
Prov1 Prov2 :
#Proveedor Nombre P Categora P Ciudad P
S2 Jones 10 Pars
2
Sea r s = v, luego tenemos los siguientes casos extremales:
esq(r) = entonces esq(v) = y v = .
r = entonces v = .
r = s entonces v = r.
OA y BDI - Universidad Nacional de San Luis 10
DIVISI ON
Sean R y S esquemas de relaci on, S R, r y s instancias de relaci on con esquema R y S respectivamente. Denotamos
con r s a la divisi on de r por s. La relaci on resultante tiene esquema (R S). Esta operaci on realiza una selecci on de
subtuplas de r, considerando que las mismas est en relacionadas con todas las tuplas dadas en s. Es decir, la instancia de
la relaci on est a conformada por el conjunto de tuplas t, tal que para toda tupla t
s
de s, hay una tupla t
r
en r que cumplen
las siguientes restricciones:
-
RS
(t
r
) = t
-
S
(t
r
) = t
s
Ejemplos:
Obtener los proyectos provistos por todos los proveedores
Pp = #Proveedor, #Proyecto
Pr = #Proveedor
pp : pr :
#Proveedor #Proyecto #Proveedor
S1 J1 S1
S1 J4 S2
S1 J2 S3
S1 J3
S2 J1
S2 J3
S3 J1
S3 J3
Pp Pr
#Proyecto
J1
J3
Obtener todos los proyectos a los que el proveedor S1 provee las partes P1 y P2, y el proveedor S2 provee la parte P3
PPP = #Proveedor, #Parte, #Proyecto
R = #Proveedor, #Parte
ppp : r :
#Proveedor #Parte #Proyecto #Proveedor #Parte
S1 P1 J1 S1 P1
S1 P1 J4 S1 P2
S1 P2 J1 S2 P3
S1 P1 J2
S1 P4 J1
S1 P3 J3
S1 P2 J2
S2 P3 J1
S2 P3 J2
S2 P3 J3
S2 P3 J4
ppp r
#Proyecto
J1
J2
2
Sea r s = v, luego tenemos los siguientes casos extremales:
esq(r) = esq(s) entonces esq(v) = y v = .
OA y BDI - Universidad Nacional de San Luis 11
esq(r) = entonces esq(v) = y v = .
esq(s) = entonces esq(v) = esq(r) y v = r.
s = entonces v =
(RS)
(r).
r = entonces v =
ENSAMBLE NATURAL
Sean R y S esquemas de relaciones, r y s instancias de relaci on con esquema R y S respectivamente. Denotamos con
r s al ensamble natural de r y s. La relaci on resultante tiene esquema R S. Esta operaci on realiza el ensamblaje de
tuplas por atributos comunes con iguales valores. Es decir, la instancia de la relaci on est a conformada por el conjunto de
tuplas t tal que hay una tupla t
r
en r y hay una tupla t
s
en s que cumplen las siguientes restricciones:
-
R
(t) = t
r
-
S
(t) = t
s
-
(RS)
(t
r
) =
(RS)
(t
s
)
Este operador cumple con las propiedades conmutativa y asociativa.
Ejemplo:
Proveedores = #Proveedor, Nombre P, Categora P, Ciudad
Proyectos = #Proyecto, Nombre, Ciudad
Prov :
#Proveedor Nombre P Categora P Ciudad
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
Proy :
#Proyecto Nombre Ciudad
J1 Ordenador Pars
J2 Perforadora Roma
J3 Impresora Atenas
Prov Proy
#Proveedor Nombre P Categora P Ciudad #Proyecto Nombre
S2 Jones 10 Paris J1 Ordenador
S3 Blake 30 Paris J1 Ordenador
S5 Adams 30 Atenas J3 Impresora
2
Sea r s = v, luego tenemos los siguientes casos extremales:
esq(r) = esq(s) entonces esq(v) = esq(r) = R y v = r s.
esq(r) = entonces esq(v) = esq(s) = S y v = .
r = entonces v = .
(R S) = entonces v = r s.
ENSAMBLE CON SELECCI ON
Sean R y S esquemas de relaciones, r y s instancias de relaciones con esquema R y S respectivamente y F una f ormula
formada con atributos de R y S. Denotamos con r
F
s al ensamble de r y s condicionado a F. La relaci on resultante
OA y BDI - Universidad Nacional de San Luis 12
tiene esquema R m as S con renombre de atributos repetidos. Esta operaci on realiza el ensamblaje de tuplas y selecciona
las que satisfacen la f ormula F. Es decir, la instancia de la relaci on est a conformada por el conjunto de tuplas t tal que
hay una tupla t
r
en r y hay una tupla t
s
en s que cumplen las siguientes restricciones:
-
R
(t) = t
r
-
S
(t) = t
s
- t satisface la f ormula F
Este operador cumple con las propiedades conmutativa y asociativa.
Ejemplo:
Proveedores = #Proveedor, Nombre P, Categora P, Ciudad
Proyectos = #Proyecto, Nombre, Ciudad
Prov :
#Proveedor Nombre P Categora P Ciudad
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
Proy :
#Proyecto Nombre Ciudad
J1 Ordenador Pars
J2 Perforadora Roma
Proy
(Ciudad=Ciudad
Categora<30)
Proy
#Proveedor Nombre P Categora P Ciudad #Proyecto Nombre Ciudad
S1 Smith 20 Londres J1 Ordenador Pars
S1 Smith 20 Londres J2 Perforadora Roma
S2 Jones 10 Pars J2 Perforadora Roma
S4 Clark 20 Londres J1 Ordenador Pars
S4 Clark 20 Londres J2 Perforadora Roma
Notar que:
esq(Prov
Ciudad=Ciudad
Categora<30
Proy) =
#Proveedor, Nombre P, Categora P, Ciudad, #Proyecto, Nombre, Ciudad
2
Sea r
F
s = v, luego tenemos los siguientes casos extremales:
esq(r) = esq(s) entonces esq(v) = esq(r) m as esq(s) completamente renombrado.
esq(r) = entonces esq(v) = esq(s) = S.
r = entonces v = .
Ninguna tupla satisface F, entonces v = .
Todas las tuplas satisfacen F, entonces v = r s.
6. Expresividad del
Algebra Relacional
El AR es un lenguaje restringido en cuanto a la cantidad de clases de consultas que puede expresar. A continuaci on
mostraremoscu ales son las clases no expresables.
CONSULTAS DE CLAUSURA
OA y BDI - Universidad Nacional de San Luis 13
Dado un conjunto A includo en un universo |, y una propiedad {, la clausura de A respecto de { se dene como el
menor conjunto B (B |), tal que: A B y B cumple la propiedad {.
Dado que las relaciones son conjuntos de nuplas, este concepto es aplicable a relaciones. En este caso, para las relaciones
binarias
6
, hay dos clausuras que son de particular inter es: la clausura transitiva y la clausura reexo-transitiva .
La clausura transitiva de una relaci on R XX, denotada con R
+
, es la menor relaci on que contiene a R y que cumple
con la propiedad transitiva. R
+
puede calcularse de la siguiente manera:
R
+
=
i=1
R
i
donde: R
1
= R
y R
i
= R R
i1
An alogamente, la clausura reexo-transitiva de una relaci on R X X, denotada con R
= R
+
R
0
donde: R
0
= (x, x)/x X
Si X es un conjunto nito, la uni on de las R
i
tambi en lo ser a , dado que llegar a un punto en que ninguna nupla nueva
pueda agregarse a la clausura, es decir existir a un i tal que R
i1
= R
i
. Este i depender a de la instancia de la relaci on, en
el peor de los casos i llegar a hasta n, donde n =[ X [.
Aho y Ullman demostraron que la clausura no es expresable ni en AR ni en CR, y por lo tanto tampoco lo son las
consultas que involucren c alculo de clausura. Esto se debe a que en AR, no hay manera de expresar una iteraci on que se
realiza un n umero arbitrario de veces.
Al principio, el poder expresivo de un lenguaje de consultas a bases de datos relacionales se meda en funci on del AR,
consider andoselo relacionalmente completo si era capaz de expresar por lo menos la misma clase de consultas que el AR.
A partir de la demostraci on de Aho y Ullman, el concepto de completitud relacional cambi o radicalmente, demostr andose
en este nuevo sentido que ni el AR ni el CR eran completos. Para denir completitud se desarroll o una amplia y compleja
teora al respecto, la cual es materia de estudio e investigaci on en bases de datos.
6
Notar que estamos trabajando desde una perspectiva no nombrada
OA y BDI - Universidad Nacional de San Luis 14
Ejemplo:
Sea G = (P, R) un 1-digrafo, donde P es el conjunto de v ertices, y R P P es el conjunto de arcos
7
. Bajo la
perspectiva del modelo relacional, la base de datos estar a conformada por dos relaciones: la relaci on P de aridad 1 y la
relaci on R de aridad 2. Supongamos que queremos resolver en AR la siguiente consulta: obtener los pares de v ertices
para los cuales existe un camino en G.
Notar que :
R
0
= (x, x)/x P est an todos los pares de v ertices para los cuales existe un camino de longitud cero.
R
1
= R est an todos los pares de v ertices para los cuales existe un camino de longitud uno.
R
2
= R R est an todos los pares de v ertices para los cuales existe un camino de longitud dos.
.
.
.
R
i
= R R
i1
est an todos los pares de v ertices para los cuales existe un camino de longitud i.
Luego en R
n
i=0
R
i
est an todos los pares de v ertices para los que existe un camino.
En AR podemos hacer las sucesivas composiciones de la siguiente manera:
R
0
:
1
=2
(P P)
R
1
: R
R
2
:
1,4
(
2
=3
(R R
1
))
R
3
:
1,4
(
2
=3
(R R
2
))
.
.
.
R
n
:
1,4
(
2
=3
(R R
n1
))
Finalmente : R
: R
0
R
1
R
2
R
n
El problema fundamental es que no podemos expresar la uni on generalizada como una operaci on unica, sino que debemos
hacerla explcitamente para cada n. En general, no podemos dar una expresi on algebraica general para la clausura
transitiva de cualquier relaci on. A un considerando que tuvi eramos la cardinalidad de P que nos brinda una cota m axima
para la longitud de caminos elementales, siempre depender a de ese n umero y la expresi on variar a de acuerdo al mismo.
CONSULTAS DE CARDINALIDAD No es posible contar la cantidad de tuplas que conforman la instancia de una relaci on,
es decir su cardinalidad. No hay manera de seleccionar las tuplas una por una, de modo de poder escribir una expresi on
que denote un contador de elementos de un conjunto.
CONSULTAS CON OPERACIONES ARITM ETICAS, MANIPULACI ON DE CADENAS DE CARACTERES
No es posible realizar c alculos aritm eticos entre los valores de atributos de tipo num erico, dado que el AR no est a provista
de las operaciones aritm eticas. Tampoco se pueden realizar operaciones tipo concatenaci on, subcadena, etc. sobre atributos
de tipo car acter.
CONSULTAS DE SELECCI ON DE LA I ESIMA TUPLA
Cuando se realiza una consulta en AR, obtenemos como respuesta una relaci on. La relaci on es un conjunto de tuplas
(nuplas), y como tal, solamente tenemos la posibilidad de trabajar con el conjunto completo y no con sus componentes.
El AR no nos provee ning un tipo de operaci on que permita explcitamente acceder a un elemento de una relaci on y mucho
menos a una componente de una tupla. Puede ocurrir que la relaci on resultante tenga una sola tupla, pero la misma no
podr a ser manipulada como tal, sino que s olo podremos manejar el conjunto unitario conformado por tal tupla.
De igual modo, si en particular nos interesara una subtupla, deberemos tratarla a trav es del conjunto unitario que con-
tenga a tal subtupla como su unico elemento. En estos casos, el tratamiento de una tupla en particular puede realizarse
mediante las operaciones de ensamble vistas.
Ejemplo:
Obtener la tupla de Proveedores correspondiente al Proveedor S3.
7
Recordar que en un 1-digrafo ,un arco u pueden identicarse por el par de v ertices que une
OA y BDI - Universidad Nacional de San Luis 15
Prov :
#Proveedor Nombre P Categora P Ciudad
S1 Smith 20 Londres
S2 Jones 10 Pars
S3 Blake 30 Pars
S4 Clark 20 Londres
S5 Adams 30 Atenas
Temp =
#Proveedor=S3
(Prov)
#Proveedor Nombre P Categora P Ciudad
S3 Blake 30 Pars
Obtenemos una relaci on Temp conformada por una sola tupla. Luego si quisi eramos manipular la tupla, deberamos ha-
cerlo a trav es del conjunto, utilizando los operadores algebraicos. Por ejemplo, si s olo interesara el nombre del proveedor,
a nuestra selecci on anterior deberamos agregarle una proyecci on por nombre de proveedor.
Temp
=
Nombre P
(
#Proveedor=S3
(Prov))
Nombre P
Blake
Pero siempre obtendramos un conjunto unitario formado por la subtupla correspondiente. Si ese valor de atributo nos
hiciera falta para utilizarlo como constante en una consulta, no podramos usarlo directamente;es distinto expresar Blake
que (Blake).
Si bi en no es posible usar Blake en forma directa y explcita, s lo es en forma indirecta a trav es de un ensamble natural
entre Temp y alguna otra relaci on:
Prov
:
#Proveedor Nombre P Categora P Ciudad
S2 Jones 10 Pars
S3 Blake 30 Pars
S5 Adams 30 Atenas
Temp
= Temp
Prov
#Nombre P=Temp
(Prov
)
CONSULTAS DE ORDENAMIENTOS No es posible ordenar las tuplas por alg un atributo ni ablocarlas por alg un criterio.
Esto es porque la relaci on es manejada como un todo.
BIBLIOGRAFIA
1. Abiteboul,S; Hull and Vianu, V. ; Foundations of Databases ; Addison-Wesley Publishing Company, 1995.
2. Codd, E.F.; A relational model of data for a large shared data banks Com of ACM 13/6):377- 387,1970.
3. Date; Introduction To Database Systems Vol I,. Addison Wesley, 1981
4. Maier, D; The theory of relational databases Computer science press, 1983.
5. Ullman, Jeffrey D.; Principles of Database and Knowledge Base Systems, Vol I Computers Science Press, 1988.
OA y BDI - Universidad Nacional de San Luis 16