Documente Academic
Documente Profesional
Documente Cultură
Fuentes http://www-db.stanford.edu/~ullman/fcdb.html
Fundamentals of Database Systems, Elmasri y Navathe
Database System Concepts,Silberschatz, Korth, Sudarshan
Marta Millan
millan@eisc.univalle.edu.co
www.eisc.univalle.edu.co/materias
1
Lenguajes
Permiten recuperacin de datos de la bd
Varios lenguajes para MR
Lenguajes formales
Basados en lgica y algebra
Facilita optimizacin
Lenguajes
Acceso eficiente a bd
No clculos complejos
Declarativos vs. imperativos
Imperativa
til representacin planes de consulta
Clculo Relacional
Declarativa
Enfasis QU y no en CMO
ALGEBRA RELACIONAL
Algebra Relacional
Algebra
Renombramiento ()
Algebra Relacional
Operadores Unarios
Seleccin ( )
Proyeccin ( )
Renombramiento ( )
Operaciones de conjunto
Producto-cartesiano ( )
Diferencia-conjuntos ( )
Union ( )
Interseccin ( )
Algebra Relacional
Operadores Relacionales Binarios
Join ( )
Divisin
Otras Operaciones
OUTER JOIN, OUTER UNION
Funciones Agregadas (SUM, COUNT, AVG,
MIN, MAX)
Seleccin
R1 := C (R2)
C es una condicin( predicado)
aplicable a attributes de R2
R1 contiene todas las tuplas de R2 que
satisfacen C
Esquemas R1 y R2 iguales
Seleccin
c(r) = {t | t r y c(t)}
c es una frmula del clculo proposicional
formada por trminos y operadores (and),
(or), (not)
Cada trmino puede ser:
<atributo> op <atributo> o <constante>
donde op puede ser: =, , >, , <,
Seleccin
Relacin r
12
23 10
23 10
Ejemplo
Relacin Matrcula
estudiante
Luis
Jos
Maria
Luis
Tabulado-Luis=
estudiante
Luis
Luis
curso
BD
MDI
BD
MDI
calif
3.5
4.7
3.5
4.0
estudiante=Luis(Matricula)
curso
calif
BD
MDI
3.5
4.0
Seleccin
Por conmutatividad una secuencia
(cascada) de operaciones SELECT se
puede aplicar en cualquier orden
<cond1>(<cond2>(<cond3>(R)) =
<cond2>(<cond3>(<cond1>( R)))
Seleccin
Una secuencia de operaciones
SELECT se puede reemplazar por la
conjuncin de condiciones
<cond1>(<cond2>(<cond3>(R)) =
<cond1>AND< cond2>AND < cond3>(R)))
Seleccin
El nmero de tuplas en el resultado de
un SELECT es menor que (o igual a) el
nmero de tuplas de la relacin de
entrada R
Proyeccin
R1 := L (R2)
L lista de atributos (A1,A2,...,An) del esquema
R2
R1 est formada por tuplas de R2, con los
atributos en el orden de la lista L
tuplas duplicadas se eliminan si hay alguna
(conjuntos no tienen elementos duplicados)
Proyeccin
Relacin r
A,C (r)
10
20
30
40
Proyeccin: Propiedades
El total de tuplas resultado de <list>(R) es
siempre menor o igual al total de tuplas de R
Si la lista de atributos incluye una llave de R, el
nmero de tuplas en el resultado de la proyeccin es
igual al total de tuplas en R
PROYECCIN no es commutativa
Ejemplo
Relacin Matricula
estudiante
Luis
Jos
Maria
Luis
curso
BD
MDI
BD
MDI
calif
3.5
4.7
3.5
4.0
Luis
Jos
Mara
Proyeccin Extendida
La lista L, en L, puede contener
expresiones aplicables a los atributos:
Aritmticas como A+B C
Ocurrencias duplicadas sobre el mismo
atributo
Ejemplo
R=
A+B C,A
A
1
3
B
2
4
(R) = C
3
7
A
1
3
Producto Cartesiano
R3 := R1 R2
Cada tupla t1 de R1 se combina con cada tupla t2 de
R2
La concatenacin t1t2 es una tupla de R3
El esquema de R3 se forma con los atributos de R1 y
de R2 en el orden en que aparecen
Si el mismo atributo A aparece en ambas relaciones
R1 y R2, usar R1.A y R2.A
Ejemplo R3 = R1 R2
R1
A
1
3
B
2
4
R2
B
5
7
9
C
6
8
10
R3
A
1
1
1
3
3
3
R1.B
2
2
2
4
4
4
R2.B
5
7
9
5
7
9
C
6
8
10
6
8
10
Producto Cartesiano
Relaciones
10
10
20
10
a
a
b
b
s
rxs
1
1
1
1
2
2
2
2
10
10
20
10
10
10
20
10
a
a
b
b
a
a
b
b
Producto Cartesiano
r x s = {t q | t r q s}
Renombramiento
Operador produce un nuevo esquema
de relacin
R1 := R1(A1,,An)(R2) construye relacin
R1 con atributos A1,, An y las mismas
tuplas de R2
Notacin simplificada
R1(A1,,An) := R2
Renombramiento
Permite nombrar atributos o relaciones
Formas de renombramiento
S (B1, B2, , Bn )(R) cambia
Renombramiento
Formas de renombramiento
S(R) cambia
Cambia nicamente por S el nombre de
la relacin
(B1, B2, , Bn )(R)
Cambia unicamente los nombres de las
columnas o atributos por B1, B1, ..Bn
Unin
binario r s
r s = {t | t r t s}
r, s deben tener la misma aridad
Operador
Unin
Relaciones
r 1
rs
Observacin
Cuando los esquemas R y Rno se
corresponden (el nombre de los
atributos son diferentes en las
relaciones, o estn en distinto orden)
se sugiere renombrar los atributos
en la relacin resultante
Ejemplo
M
Cedula-H
6756989
Luis Lara
6453446
Jose Cruz
Cedula-M
Nombre-M
3232330
Mara Ruz
3455666
Rosa Toro
3216789
Julia Muoz
Diferencia
Relaciones
r s
Diferencia
r s = {t | t r t s}
Composicin de Operaciones
A=C(r x s)
A
1
2
2
10
10
20
a
a
b
1
1
1
1
2
2
2
2
10
10
20
10
10
10
20
10
E
a
a
b
b
a
a
b
b
Definicin Formal
Sean E1 y E2 dos expresiones relacionales
Las siguientes son expresiones del lgebra
E1 E2
E1 E2
E1 x E2
p (E1), p es un predicado sobre los atributos en E1
s(E1), S lista de atributos en E1