Está en la página 1de 20

Sistemas de Datos

Curso: Ernesto Chinkes

SQL Bsico Algebra


Relacional

Sistemas de Datos
Curso: Ernesto Chinkes

Modelo Relacional

Conceptos

Relacin
Esquema
Operaciones del Algebra Relacional

Seleccin
Proyeccin
Unin
Diferencia
Producto Cartesiano

Sistemas de Datos
Curso: 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 Datos
Curso: Ernesto Chinkes

Algebra Relacional
Proyeccin ()
Permite extraer columnas (atributos) de una
relacin, dando como resultado un
subconjunto vertical de atributos de la
relacin

A , A
1

(R)

2,, An

Por Ej:

Apellido, Nombre, Numero_Registro(Alumno)

Sistemas de Datos
Curso: 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:

RUS
Por Ej:

Alumno U Profesor

Sistemas de Datos
Curso: 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 Datos
Curso: 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:

RxS
Por Ej:

Alumno x Profesor

Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional

Otras Operaciones

Interseccin de Conjuntos
Reunin natural

Sistemas de Datos
Curso: Ernesto Chinkes

Otras Operaciones
Interseccin ()
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:

RS
Por Ej:

Alumno Profesor

Sistemas de Datos
Curso: 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:

RS
Por Ej:

Alumno (Alumno.DNI=Profesor.DNI)
Profesor

Sistemas de Datos
Curso: 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 Datos
Curso: Ernesto Chinkes

Modelo de Ejemplo - Casas


Trabajamos con tres relaciones:

Sistemas de Datos
Curso: Ernesto Chinkes

Seleccin
Listar la calle y el nmero de
las casas.
En algebra relacional,
hacemos la proyeccin
de Calle y Numero
de la relacin Casa

En SQL, escribimos:
SELECT Calle, Numero
FROM Casa

La tabla luego del FROM


representa la relacin
sobre la que hacemos
la proyeccin

La lista que sigue al SELECT


nos marca los atributos
que proyectamos

Sistemas de Datos
Curso: Ernesto Chinkes

Seleccin
Listar todas las casas
de la calle Moreno
En algebra relacional,
hacemos la seleccin
en la relacin Casa
donde Calle=Moreno

En SQL, escribimos:
SELECT *
FROM Casa
WHERE Calle=Moreno

Calle, Numero, Valor (Casa)

La tabla luego del FROM


representa la relacin
sobre la que hacemos
la proyeccin

La condicin que sigue al


WHERE representa
el predicado de la seleccin

Sistemas de Datos
Curso: Ernesto Chinkes

Seleccin
Listar los numeros de las
casas de la calle Moreno
En algebra relacional,
hacemos la seleccin
en la relacin Casa
donde Calle=Moreno
y la proyeccin del
atributo Numero

En SQL, escribimos:
SELECT Numero
FROM Casa
WHERE Calle=Moreno

Calle=Moreno (Casa)

La tabla luego del FROM


representa la relacin
sobre la que hacemos
la seleccin y la proyeccin

La condicin que sigue al


WHERE representa
el predicado de la seleccin,
y la lista luego del SELECT
los atributos a proyectar

Sistemas de Datos
Curso: Ernesto Chinkes

Insercin
Agregar 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 INTO


indica la relacin a la
cual le agregamos la tupla

La lista luego del VALUES


contiene los datos de la
tupla a agregar

Sistemas de Datos
Curso: Ernesto Chinkes

Insercin
Agregar a Casas los datos
de la tabla Otras_Casas
En algebra relacional,
Agregamos a la relacin
Casas un conjunto de tuplas
Producto de una seleccin

En SQL:
INSERT INTO Casas
SELECT * FROM
Otras_Casas

Luego del INTO tenemos


la relacin sobre la que
vamos a agregar la
Informacin.

A continuacin tenemos la
expresin del algebra
relacional que indica
el conjunto de tuplas a
agregar. En este caso
una seleccin.

Sistemas de Datos
Curso: Ernesto Chinkes

Modificacin
Aumentar en 10 % el valor
de las propiedades de la
calle Moreno
En algebra relacional,
realizamos una seleccin
de tuplas y modificamos
el valor de algn atributo

En SQL:
UPDATE Casa
SET Valor = Valor * 1.1
WHERE Calle=Moreno

Luego del UPDATE tenemos


la relacin a modificar.
Luego del SET, los atributos
que se modificarn

Luego del WHERE, tenemos


las condiciones de la
operacin de seleccin. Si no
seleccionamos, modificaremos todas las tuplas de
la relacin.

Sistemas de Datos
Curso: Ernesto Chinkes

Eliminacin
Queremos borrar todas
las casas de la calle
Azurduy
En algebra relacional,
realizamos una seleccin
de tuplas y las
eliminamos

En SQL:
DELETE FROM Casa
WHERE Calle=Azurduy

Luego del DELETE FROM


tenemos la relacin
de la cual borraremos

Luego del WHERE, tenemos


las condiciones de la
operacin de seleccin. Si
no seleccionamos,
borraremos todas las
tuplas de la relacin

Sistemas de Datos
Curso: Ernesto Chinkes

Consultas Multitabla
Queremos mostrar los telfonos
de las casas de la calle
Pedraza
En algebra relacional,
realizamos una reunin
natural. Comprende un
producto cartesiano y
una seleccin

En SQL: SELECT
c.Calle, c.Numero, tc.Telefono
FROM Casa c INNER JOIN
Telefono_Casa tc ON
(c.Calle = tc.Calle AND
c.Numero = tc.Numero)
WHERE Calle=Pedraza

c.Calle=tc.Calle;
c.Numero=tc.Numero
(Casa c X Telefono_Casa tc)
Luego del ON
identificamos los atributos
repetidos en ambos
esquemas

Luego del WHERE, tenemos


las condiciones de la
operacin de seleccin.

También podría gustarte