Post on 14-Oct-2015
Sistemas de DatosCurso: Ernesto Chinkes
SQL Bsico Algebra Relacional
Sistemas de DatosCurso: Ernesto Chinkes
Modelo Relacional
Conceptos Relacin Esquema Operaciones del Algebra Relacional
Seleccin Proyeccin Unin Diferencia Producto Cartesiano
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Seleccin ()Permite seleccionar un subconjunto de tuplas
de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P:
P(R)
Por Ej:
Apellido=Gomez(Alumno)
Sistemas de DatosCurso: Ernesto Chinkes
Algebra RelacionalProyeccin ()Permite extraer columnas (atributos) de una
relacin, dando como resultado un subconjunto vertical de atributos de la relacin
A1, A2,, An(R)
Por Ej:
Apellido, Nombre, Numero_Registro(Alumno)
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Unin (U)Retorna el conjunto de tuplas que estan en
R, o en S, o en ambas. R y S deben ser relaciones compatibles:
R U S
Por Ej:
Alumno U Profesor
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Diferencia (-)Entrega todas aquellas tuplas que estan en
R, pero no en S. R y S deben ser relaciones compatibles:
R - S
Por Ej:
Alumno - Profesor
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Producto cartesiano (x)Entrega una relacin, cuyo esquema corresponde a
una combinacin de todas las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R seguidos por los de S:
R x S
Por Ej:
Alumno x Profesor
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Otras Operaciones Interseccin de Conjuntos Reunin natural
Sistemas de DatosCurso: Ernesto Chinkes
Otras OperacionesInterseccin ()La interseccin, como en Teora de conjuntos,
corresponde al conjunto de todas las tuplas que estan en R y en S, siendo R y S relaciones compatibles:
R S
Por Ej:
Alumno Profesor
Sistemas de DatosCurso: Ernesto Chinkes
Otras Operaciones
Reunin Natural (): Hace un producto cartesiano de sus dos argumentos y realiza
una seleccin forzando la igualdad de atributos que aparecen en ambas relaciones, eliminando repetidos:
R S
Por Ej:
Alumno (Alumno.DNI=Profesor.DNI)Profesor
Sistemas de DatosCurso: Ernesto Chinkes
Algebra Relacional
Operaciones del lgebra relacional extendida Agregacin (Count, Sum, Avg, Etc) Reunin externa Reunin externa completa Reunin externa por la derecha Reunin externa por la izquierda
Sistemas de DatosCurso: Ernesto Chinkes
Modelo de Ejemplo - Casas
Trabajamos con tres relaciones:
Sistemas de DatosCurso: Ernesto Chinkes
Seleccin
Listar la calle y el nmero de las casas.
En algebra relacional,hacemos la proyeccin
de Calle y Numerode la relacin Casa
En SQL, escribimos:SELECT Calle, Numero
FROM Casa
La lista que sigue al SELECTnos marca los atributos
que proyectamos
La tabla luego del FROMrepresenta la relacinsobre la que hacemos
la proyeccin
Sistemas de DatosCurso: Ernesto Chinkes
Seleccin
Listar todas las casas de la calle Moreno
En algebra relacional,hacemos la seleccin
en la relacin Casadonde Calle=Moreno
En SQL, escribimos:SELECT *
FROM CasaWHERE Calle=Moreno
La tabla luego del FROMrepresenta la relacinsobre la que hacemos
la proyeccin
La condicin que sigue alWHERE representa
el predicado de la seleccin
Calle, Numero, Valor (Casa)
Sistemas de DatosCurso: Ernesto Chinkes
Seleccin
Listar los numeros de las casas de la calle Moreno
En algebra relacional,hacemos la seleccin
en la relacin Casadonde Calle=Moreno
y la proyeccin delatributo Numero
En SQL, escribimos:SELECT Numero
FROM CasaWHERE Calle=Moreno
La tabla luego del FROMrepresenta la relacinsobre la que hacemos
la seleccin y la proyeccin
La condicin que sigue alWHERE representa
el predicado de la seleccin,y la lista luego del SELECT
los atributos a proyectar
Calle=Moreno (Casa)
Sistemas de DatosCurso: Ernesto Chinkes
InsercinAgregar una casa en
Moreno al 325, por valor de 25000
En algebra relacional,agregamos una tupla
a la relacin Casa
En SQL:INSERT INTO Casa
(Calle, Numero, Valor)VALUES
(Moreno, 325, 25000)
La tabla luego del INTOindica la relacin a la
cual le agregamos la tupla
La lista luego del VALUEScontiene los datos de la
tupla a agregar
Sistemas de DatosCurso: Ernesto Chinkes
Insercin
Agregar a Casas los datos de la tabla Otras_Casas
En algebra relacional,Agregamos a la relacin
Casas un conjunto de tuplasProducto de una seleccin
En SQL:INSERT INTO Casas
SELECT * FROMOtras_Casas
Luego del INTO tenemosla relacin sobre la que
vamos a agregar laInformacin.
A continuacin tenemos laexpresin del algebrarelacional que indica
el conjunto de tuplas aagregar. En este caso
una seleccin.
Sistemas de DatosCurso: Ernesto Chinkes
Modificacin
Aumentar en 10 % el valor de las propiedades de la calle Moreno
En algebra relacional,realizamos una seleccinde tuplas y modificamosel valor de algn atributo
En SQL:UPDATE Casa
SET Valor = Valor * 1.1WHERE Calle=Moreno
Luego del UPDATE tenemosla relacin a modificar.
Luego del SET, los atributosque se modificarn
Luego del WHERE, tenemoslas condiciones de la
operacin de seleccin. Si noseleccionamos, modificare-
mos todas las tuplas dela relacin.
Sistemas de DatosCurso: Ernesto Chinkes
EliminacinQueremos borrar todas
las casas de la calle Azurduy
En algebra relacional,realizamos una seleccin
de tuplas y laseliminamos
En SQL:DELETE FROM Casa
WHERE Calle=Azurduy
Luego del DELETE FROMtenemos la relacin
de la cual borraremos
Luego del WHERE, tenemoslas condiciones de la
operacin de seleccin. Sino seleccionamos,
borraremos todas lastuplas de la relacin
Sistemas de DatosCurso: Ernesto Chinkes
Consultas Multitabla
Queremos mostrar los telfonos de las casas de la calle Pedraza
En algebra relacional,realizamos una reuninnatural. Comprende unproducto cartesiano y
una seleccin
En SQL: SELECTc.Calle, c.Numero, tc.Telefono
FROM Casa c INNER JOINTelefono_Casa tc ON
(c.Calle = tc.Calle ANDc.Numero = tc.Numero)
WHERE Calle=Pedraza
Luego del ONidentificamos los atributos
repetidos en ambosesquemas
Luego del WHERE, tenemoslas condiciones de la
operacin de seleccin.
c.Calle=tc.Calle;c.Numero=tc.Numero
(Casa c X Telefono_Casa tc)
SQL Bsico Algebra RelacionalModelo RelacionalAlgebra RelacionalAlgebra RelacionalAlgebra RelacionalAlgebra RelacionalAlgebra RelacionalAlgebra RelacionalOtras OperacionesOtras OperacionesAlgebra RelacionalModelo de Ejemplo - CasasSeleccinSeleccinSeleccinInsercinInsercinModificacinEliminacinConsultas Multitabla