Está en la página 1de 21

Sistemas de Datos

SQL Bsico Algebra Relacional

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Esquema de la clase

Operaciones del Algebra Relacional

Unarias

Binarias

Conceptos
SQL
Conceptos
SQL

SQL Bsico

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Operaciones del Algebra Relacional


Unarias
Relacin A

Relacin A

Relacin B

Binarias
Relacin C

Relacin B

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Operaciones
Operaciones Fundamentales del Algebra Relacional
Seleccin ()
Proyeccin ()
Renombramiento (p)

Unarias

Unin (U)

Diferencia (-)
Producto cartesiano (x)
Binarias

Otras Operaciones
Interseccin ()

Reunin Natural ()

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Operaciones
Operaciones del lgebra relacional
extendida
Funciones de Agregacin (Count, Sum,
Avg, Etc)
Reunin externa completa
Reunin externa por la derecha
Reunin externa por la izquierda

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Seleccin


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)

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Proyeccin


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)

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Renombramiento

Renombramiento (p)
Permite poner nombre a las expresiones
del algebra relacional

pA , A
1

2,,

An

(R)
Cliente

CLI

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Ejemplo
Obtener las fechas de las reservas de la escuela con cdigo 5

Relacin RESERVA

Seleccin Codigo=5

Proyeccin de fecha_reserva

Resultado

fecha_reserva(Codigo_Escuela=5(Reserva)

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional -> SQL


3

SELECT Fecha_Reserva
1 FROM Reserva
2 WHERE Codigo_Escuela = 5
1

Identificacin de las Relaciones involucradas

Seleccin ()

Proyeccin ()

Codigo_Escuela=5(Reserva)

fecha_reserva (Reserva)

fecha_reserva(Codigo_Escuela=5(Reserva)

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Unin


Unin (U)
Retorna el conjunto de tuplas que estn
en R, o en S, o en ambas. R y S deben
ser relaciones compatibles:

RUS
Por Ej:

Alumno U Profesor

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional -> SQL


SELECT Cod_Reserva, Fecha
FROM Reserva
WHERE Fecha = '30/04/2009'

UNION

Relaciones compatibles:
Cantidad de Atributos
Dominios Compatibles

SELECT Cod_Reserva, Fecha_Hist


FROM Reserva_Historica
WHERE Fecha_Hist = '01/04/2005'

Cod_Reserva, Fecha (Fecha = '30/04/2009' (Reserva))

Cod_Reserva, Fecha_Hist (Fecha_Hist = '01/04/2005'


(Reserva_Historica))

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Diferencia


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

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Interseccin


Interseccin ()
La interseccin, como en Teora de conjuntos,
corresponde al conjunto de todas las tuplas
que estn en R y en S, siendo R y S
relaciones compatibles:

RS
Por Ej:

Alumno Profesor

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Producto Cartesiano

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

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional Reunin Natural


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

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

SQL Sintaxis
BNF (Backus Naur Form)
SELECT [ALL|DISTINCT] {nbColumna [, ]}
FROM {expresin-tabla}
WHERE {condicin-de-bsqueda}

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

SQL Bsico: SELECT

Especificacin de tabla

Condicin de seleccin

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

SQL Bsico: Consultas de Resumen

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

Algebra Relacional -> SQL


SELECT tel.Telefono
Producto cartesiano (x)
FROM Escuela esc, Telefono_Escuela tel
WHERE esc.codigo_escuela = tel.codigo_escuela

telefono (esc.codigo_escuela = tel.codigo_escuela


(pesc(Escuela) x ptel(Telefono_Escuela)))
Reunin Natural ()

EQUIVALENTES

1. Producto cartesiano (x)


2. Seleccin () forzando la igualdad de atributos que aparecen en ambas
relaciones, eliminando repetidos
Reunin Natural ()
SELECT tel.Telefono
FROM Escuela esc INNER JOIN Telefono_Escuela tel ON
esc.codigo_escuela = tel.codigo_escuela

telefono (pesc(Escuela) (esc.codigo_escuela =


tel.codigo_escuela ) ptel(Telefono_Escuela))

Algebra Relacional y DML Basico


Sistemas de Datos
Curso: Ernesto Chinkes

SELECT - Partes y Orden de resolucin


SQL

lgebra
Orden deRelacional
Resolucin

6 Proyeccin
SELECT apellido,
MAX (Nro_Registro)
de Relaciones (renombramiento, reunin
1 Definicin
FROM ALUMNO
natural, etc.)
2 Seleccin
Like P%
WHERE apellido
3
GROUP BY apellido
4 (*) > 3
HAVING COUNT
5
ORDER BY apellido

También podría gustarte