Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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
Sistemas de Datos
Curso: Ernesto Chinkes
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
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
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)
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)
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
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
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
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