Vous êtes sur la page 1sur 11

El lgebra relacional

Definiciones Iniciales

El proceso de consulta una base de datos relacional:
Toda consulta a una BDR genera como resultado una relacin
Existen dos mecanismos formales para especificar:
Algebra relacional:
El resultado es la aplicacin sucesiva de operaciones a las relaciones
de la base
Calculo relacional
El resultado es el conjunto de constantes que hacen cierta una
determinada wff (well formed formula) de Calculo de Predicados
Historia:
Se define el Algebra Relacional como lenguaje de consulta y diseo en
1970 (Codd)
Se define una versin del Calculo Relacional en 1972. Tambin se
establece la equivalencia entre el Calculo y el Algebra relacional




El lgebra relacional
Definiciones Iniciales

Hay ocho operadores bsicos en el Algebra Relacional:
Operadores monarios: seleccin y proyeccin
Operadores binarios: Unin, interseccin, diferencia, producto
cartesiano, p-reunin y divisin
Otra clasificacin:
Operadores conjuntistas: Unin, diferencia, interseccin y producto
cartesiano
Operadores relacionales: seleccin, proyeccin, p-reunin y divisin
Notacin a seguir
Dada R[A
1
..A
n
], A
i
,A
j
e{A
1
...A
n
} llamaremos propiedad atmica P(A
i
,A
j
) a
toda expresin de la forma A
i
u,A
j
con u igual a =, s,>,=... (obviamente
A
i
o A
j
pueden sustituirse por una constante).
Notaremos por P(A
1
..A
n
) a toda propiedad lgica asociada al conjunto de
atributos {A
1
..A
n
}, que sea combinacin mediante .,v, de
propiedades atmicas incluyendo constantes y nombres de atributos
pertenencientes a {A
1
..A
n
}




El lgebra relacional
Operadores bsicos: La seleccin

Definicin:
Sea R[A
1
..A
n
], y P una propiedad asociada a {A
1
...A
n
} y r una instancia
de R, el operador p-seleccin aplicado a r y que notaremos por o
P
(r)
obtiene aquellas tuplas de r para las que p es cierta:
Ejemplo: si P= status>=25 tenemos


Codigo Nombre Ciudad Status
S1 Juan Lopez Granada 20
S2 Jose Sanchez Jaen 15
S3 Antonio Perez Cadiz 20
S4 Jose Lopez Sevilla 25
S6 Carmen Lopez Cordoba 30
S7 Julia Sanchez Granada 25
S8 Juana Perez Jaen 10
S9 Luis Gomez Almeria 35
S10 Maria Galvez Sevilla 30
o
P
(r)=
Codigo Nombre Ciudad Status
S4 Jose Lopez Sevilla 25
S6 Carmen Lopez Cordoba 30
S7 Julia Sanchez Granada 25
S9 Luis Gomez Almeria 35
S10 Maria Galvez Sevilla 30
r=




El lgebra relacional
Operadores bsicos: La proyeccin

Definicin:
Sea R[A
1
..A
n
], un subconjunto de sus atributos {A
i
...A
j
} y r una instancia
de R, el operador proyeccin sobre {A
i
...A
j
} aplicado a r y que
notaremos por t
{Ai...Aj}
(r) obtiene tuplas de r eliminando de la tabla
aquellos atributos no pertenecientes a {A
i
...A
j
} y eliminando
posteriormente tuplas redundantes:
Ejemplos:


Ciudad Status
Granada 20
Jaen 15
Cadiz 20
Sevilla 25
Cordoba 30
Granada 25
Jaen 10
Almeria 35
Sevilla 30
t
ciudad,status
(r)=
Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
Almeria
t
ciudad
(r)=




El lgebra relacional
Operadores bsicos: producto cartesiano

Definicin:
Sean R[A
1
..A
n
], y S[B
1
..B
m
], dos relaciones cualesquiera y dos instancias
r y s de las misma, el producto cartesiano de ambas instancias es el
conjunto de tuplas resultante de hacer el producto cartesiano
considerando ambas instancias como conjuntos de tuplas.
Ejemplos: supongamos R[A,B] y S[D], y sean r y s dos instancias:






=


A B
a
1
b
1
a
2
b
2
a
3
b
2
a
4
b
4
D
d
1
d
2
d
3

A B D
a
1
b
1
d
1
a
1
b
1
d
2
a
1
b
1
d
3
a
2
b
2
d
1
a
2
b
2
d
2
a
2
b
2
d
3
a
3
b
3
d
1
a
3
b
3
d
2
a
3
b
3
d
3
a
4
b
4
d
1
a
4
b
4
d
2
a
4
b
4
d
3




El lgebra relacional
Operadores bsicos: la p-reunion

Definicin:
Sean R[A
1
..A
n
], y S[B
1
..B
m
], dos relaciones cualesquiera, P una
propiedad que implica a atributos de ambas relaciones y dos
instancias r y s de las misma, definimos:
r P- s = o
P
(rs)
La =-reunin permite pegar dos tablas y restaurar todas las conexiones
semanticas:
Ejemplos


o
liro.isbn=escribe.isbn
(libroescribe)

o
liro.isbn=trata.isbn
(librotrata)




editorial
Fecha
ISBN
Titulo
Nombre ISBN
ISBN codigo



El lgebra relacional
Operadores bsicos: la reunion natural

Cuando se hace =-reunin se obtiene una tabla con al menos dos
columnas iguales. La reunin natural elimina adems las columnas
redundantes.
Definicin: Sean R[A
1
..A
n
], y S[B
1
..B
m
], dos relaciones tales que
existen {A
i
...
j
A} _ {A
1
..A
n
} y {B
i
...

B
j
} _ {B
1
..B
m
} tales que
ke{i..j}, A
k
=B
k
, sean r y s instancias de R y S respectivamente
definimos:
r s =t
({A1..An} {B1.. Bm})- {Ai... jA}
(o
P
(rs))
con P (r.A
i
=s.A
i
)..... (r.A
j
=s.A
j
)
Es decir el resultado de hacer la reunin bajo igualdad de atributos que
tienen el mismo nombre y eliminar, mediante proyeccin, columnas
redundantes del resultado.
Ejemplo:
libro escribe tiene como esquema
(Titulo,ISBN,Fecha,Editorial,Nombre) e incluye una ocurrencia
por cada libro y su autor







El lgebra relacional
Operadores bsicos: Unin, Interseccin y diferencia

Definicin: Sean R[A
1
..A
n
], y S[B
1
..B
m
], dos relaciones tales que
{A
1
..A
n
} {B
1
...

B
m
}, sean r y s instancias de R y S definimos:
r ()(-)s =t
donde t es el resultado de hacer la interseccin (unin) (diferencia) de r y
s consideradas como conjunto de tuplas
Ejemplos: sean

r= s= rs= rs=




r-s=


A B
a
1
b
1
a
2
b
2
a
3
b
2
a
4
b
4
A B
a
1
b
1
a
2
b
2
a
5
b
5
A B
a
1
b
1
a
2
b
2
a
3
b
2
a
4
b
4
a
5
b
5
A B
a
1
b
1
a
2
b
2
A B
a
3
b
2
a
4
b
4




El lgebra relacional
Operadores bsicos: Unin, Interseccin y diferencia

Aclaraciones:
Para realizar que la unin, interseccin o diferencia sean
operaciones cerradas dentro del conjunto de relaciones los
esquemas de las relaciones intervinientes deben coincidir. Caso
de que no ocurra, se debe usar previamente la proyeccin.
Las siguientes propiedades son inmediatas. Para cualquier
relacin R y propiedades p y q, asociadas a sus atributos:
o
p.q
(r ) = o
p
(r ) o
q
( r )
o
pvq
(r ) = o
p
(r ) o
q
( r )
o
p.q
(r ) = o
p
(r ) - o
q
( r )







El lgebra relacional
Operadores bsicos: La divisin

Idea bsica:
Consideremos una relacin R[A,B ] donde A y B son conjuntos de
atributos que representan entidades distintas y R representa
una conexin existente entre ambas entidades. Sea S[B] una
relacin que representa un conjunto de entidades de tipo B
que cumplen una determinada propiedad. Sean r y s instancias
de R y S respectivamente:
El objetivo de la divisin es obtener aquellas entidades de tipo A
que se conectan, a travs de r, con todas las entidades de
tipo B que hay en s
rs=t
donde t es una instancia de una relacin T [A] .





El lgebra relacional
Operadores bsicos: La divisin

Ejemplos
t
DNI,cod_as
(matricula) t
cod_as
(o
curso=1
(asignatura)),
devuelve los DNI de los alumnos matriculados de todas las
asignaturas de primero.
t
P#,S#
(ventas) t
S#
(o
ciudad=Londres
(proveedor))
devuelve los cdigos de piezas que son suministradas por todos
los proveedores de Londres.
Definicin formal
R[A
1
..A
n
,

B
1
..B
m
], S[B
1
..B
m
], y r y s instancias de R y S respectivamente,
definimos:
rs=t
donde t es una instancia de una relacin T [A
1
..A
n
], que verifica:
vet ,ues -wer / w[A
1
..A
n
]=v y w[B
1
..B
m
]=u

Vous aimerez peut-être aussi