algebra relacional - informaticosst.files.wordpress.com · conjunto de operadores que opera sobre...

Post on 16-Apr-2020

14 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related