Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Algebra Relacional
•
Conjunto de operadores que opera sobre relaciones •
Cada uno de estos operadores toma una o dos relaciones como entrada y produce una nueva relación como salida.
•
Las relaciones originales no cambian.
•
Lenguaje de consulta
• Operador Restricción
• Selecciona tuplas
que satisfacen un predicado dado.
• Restringe la relacion
solo a las tuplas
que satisfagan
una condicion
especifica.
•
predicado (R)
• Conocer las tuplas
de la relación préstamo en que la
sucursal es ‘Navacerrada’:
•
nombre-sucursal = ‘Navacerrada’
(préstamo)
• Operador de comparación (>, <, =)
• Operadores booleanos
"AND", "OR", "NOT".
•
A3>16 (R) •
A3>16 and
A3 < 45 (R)
•
nombre='Carlos' and
edad=45 (R)
Conocer a los autores que tengan nacionalidad española:
•
•
nacionalidad = ‘española’
(AUTOR)
Conocer aquellas películas cuya duracion
(lenght) es mayor o igual que 100 minutos
•
lenght
>= 100 (MOVIE)
• Conocer aquellas películas cuya duracion
(lenght) sea
mayor o igual que 100 minutos y el nombre del estudio sea Fox:
•
length>=100 and studioName='Fox' (Movie)
• Grado de la relación resultante?
• Cardinalidad?
• Ejercicios.
• Obtener todos los empleados con un salario anual superior a 15.000.
• Plantilla(Enum, Nombre, Apellido, Dirección, Teléfono, Puesto, Fecha_nac, Salario, DNI, Onum)
• Obtener todos los inmuebles de la poblacion
Castellón
con un alquiler mensual de hasta 350 euros.•
Inmueble(Inum, Calle, Area, Población, Tipo, Hab, Alquiler, Pnum)
• Operador Proyección
• Extrae los atributos especificados en una relacion
dada. •
Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas.
•
atributo1, atributo2 (R)
• Conocer la nacionalidad y la institución de los autores:
• nacionalidad, institución (AUTOR)
• Conocer el titulo y nombre de estudio de aquellas películas cuya duracion
sea mayor a 100 minutos.
• title,studioName
( length>=100 (Movie))
• Grado?
• Cardinalidad?
• Ejercicios
• Obtener un listado de empleados mostrando su número, nombre, apellido y salario.
• Plantilla(Enum, Nombre, Apellido, Dirección, Teléfono, Puesto, Fecha_nac, Salario, DNI, Onum)
• Obtener los distintos puestos que pueden ocupar los empleados.
• Obtener los nombres y apellidos de los empleados que sean supervisores.
• Operadores Binarios
• Se aplican a dos relaciones y algunos de ellos exigen que las dos relaciones involucradas sean compatibles en sus esquemas.
• No quiere decir que los nombres de los atributos sean los mismos, sino que deben estar definidos sobre los mismos dominios.
• Unión (U)
• La unión de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación.
• Estará
constituida por las tuplas
que pertenezcan a R
o a R’
o a ambas.•
Se eliminan las tuplas
repetidas.
• Construye una relacion
formada por todas las tuplas
que aparecen en cualquiera de las dos relaciones especificadas.
• R U R’
• Conocer todas las personas que sean autor, editor o ambas cosas.
• Averiguar el nombre de todos los clientes del banco que tienen una cuenta, un préstamo o ambas cosas.
• Nombres de todos los clientes con préstamos en el banco:
•
nombre-cliente (prestatario)•
Nombres de los clientes con cuenta en el banco:
•
nombre-cliente (impositor)
•
nombre-cliente (prestatario) U nombre-cliente (impositor)
• Ejercicio
• Obtener un listado de las áreas en las que hay oficinas o inmuebles para alquilar.
• Diferencia (-)
• La diferencia de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación.
• Estará
constituida por el conjunto de tuplas
que
pertenezcan a R
pero no a R’.•
Construye una relacion
formada por todas las tuplas
de la primera relacion
que no aparezcan en la segunda de las dos relaciones especificadas.
• R -
R’
• Conocer todas las personas que sean autores, pero no son editores.
• Conocer los nombres de los clientes del banco que tienen abierta una cuenta pero no tienen ningún préstamo
•
nombre-cliente (impositor) – nombre-cliente (prestatario)
• Ejercicio
• Obtener un listado de todas las poblaciones en donde hay una oficina y no hay inmuebles para alquilar.
• Producto cartesiano generalizado X
• A partir de dos relaciones especificadas, construye una relacion
que contiene todas las combinaciones
posibles de tuplas, una de cada una de las dos relaciones.
• R X S, los esquemas de ambas relaciones se mezclan y unen.
• Se desea averiguar los nombres de todos los clientes que tienen concedido un préstamo en la sucursal de Navacerrada.
•
nombre-sucursal = ‘Navacerrada’
(prestatario X préstamo)
•
prestatario.número-préstamo = préstamo.número- préstamo ( nombre-sucursal = ‘Navacerrada’ (prestatario X préstamo))
•
nombre-cliente ( prestatario.número-préstamo = préstamo.número-préstamo ( nombre-sucursal = ‘Navacerrada’ (prestatario X préstamo)))
• Obtener los nombres de los inquilinos y lo
s
comentarios que éstos han realizado cuando han visto algún inmueble.
•
•
• Reunión (θ
)
• A partir de dos relaciones especificadas, construye una relacion
que contiene todas las posibles
combinaciones de tuplas, una de cada una de las dos relaciones, tales que las dos tuplas
participantes en
una combinación dada satisfagan alguna condicion especificada.
• Permite reconstruir las tablas originales previas al proceso de normalización.
• Se combina proyección, selección y producto cartesiano en una sola operación, donde la condición θ
es la igualdad Clave Primaria = Clave Foranea, y la
proyección elimina la columna duplicada (clave foranea).
• Obtener los nombres y los comentarios que los inquilinos han realizado cuando han visto algún inmueble.
• Intersección (∩)
• La intersección de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación, cuya extensión estará
constituida por las tuplas
que pertenezcan a ambas relaciones.
• Construye una relacion
formada por todas aquellas
tuplas
que aparecen en las 2 relaciones especificadas.
• R ∩
R’
• Se puede escribir en función de la union
y la
diferencia: R ∩
R’=(R U R’)-((R-R’) U (R’-R))
• Conocer a autores que son editores
• División (:)
• La división de dos relaciones es otra relación cuya extensión estará
constituida por las tuplas
que al
completarse con las tuplas
de la segunda relación permiten obtener la primera.
• R : R’
• Se puede escribir en función de la proyeccion, producto cartesiano y diferencia.
• Conocer los autores que han publicado en las editoriales Addison y Rama
• Dadas las 2 relaciones siguientes, indique un query
en
algebra relacional para encontrar los nombres de las estrellas que trabajan en películas cuya duración sera
mayor o igual que 100.
• Movie (title,year,length,filmType,studioName)
• Movie_star(title,year,starName)
•
Investigar:•
Objetivos e importancia de SQL.
•
Evolución histórica.
•
Consultas simples a través de SELECT.•
Selección de filas utilizando WHERE.
•
Orden de los resultados con ORDER BY.•
Funciones de agregación de SQL (COUNT, SUM, AVG, MIN, MAX).
•
Otras funciones ej. BETWEEN, DISTINCT.•
Agrupando resultados GROUP BY, HAVING.