Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1....

42
Facultad de Estadística e Informática Manejadores de Bases de Datos OPERACIONES SOBRE BASES DE DATOS RELACIONALES PARTE II

Transcript of Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1....

Page 1: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Manejadores de Bases de DatosOPERACIONES SOBRE BASES DE DATOS RELACIONALES PARTE I I

Page 2: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Lenguaje de consultas (SQL): características, consulta y manipulación.

Creación y manejo de bases de datos (importar, exportar)

Restricciones de integridad.

Operaciones sobre BD relacionales

Page 3: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones fundamentales de álgebra relacional

Existen operaciones unarias, sobre una sola relación y binarias, se ejecutan sobre dos relaciones.

Las operaciones unarias son:Selección.

Proyección.

Renombramiento.

Page 4: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones fundamentales de álgebra relacional

Las operaciones binarias son:Unión.

Diferencia.

Producto cartesiano.

Page 5: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Base de datos ejemplo. Banco

Page 6: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL:

La estructura basica de una expresion SQL consta de tres clausulas: select, from y where.

Page 7: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

La clausula select corresponde ala operacion proyeccion del algebra relacional.

Se usa para obtener una relacion de los atributos deseados en el resultado de una consulta.

Page 8: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

La clausula from corresponde a la operacionproducto cartesiano del algebra relacional.

Genera una lista de las relaciones que deben ser analizadas en la evaluacion de la expresion.

Page 9: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones en SQL

La clausula where se corresponde con el predicado seleccion del algebra relacional.

Es un predicado que engloba a los atributos de las relaciones que aparecen en la clausula from.

Page 10: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Equivale en álgebra relacional:

Page 11: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Por ejemplo

Page 12: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Incluyendo la cláusula WhereObtener todos los numeros de prestamo de los prestamos concedidos en la sucursal de Navacerrada

Page 13: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones en SQL

SQL usa las conectivas logicas and, or y not (en lugar de los simbolos matematicos ∧, ∨ y ¬ ) en la clausula where.

Las expresiones pueden contener los operadores de comparación <, <=, >, >=, = y <>

Page 14: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Incluyendo la cláusula WhereObtener todos los numeros de prestamo de los prestamos concedidos en la sucursal de Navacerrada con importe superior a 1.200

Page 15: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

SQL incluye tambien un operador de comparacion between para simplificar las clausulas where

Page 16: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Obtener el numero de prestamo de aquellos prestamos con importe entre 90.000 y 100.000

Page 17: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

El uso de From

Es el producto cartesiano de las relaciones que aparecen en la clausula.

Page 18: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Otro ejemplo de Producto Cartesiano

Page 19: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Anteriormente se analizó

r = prestatario x prestamo

(Se agrega el nombre de la relación a cada atributo)

Page 20: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

PrestamoPrestatario

Page 21: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operación Producto cartesiano.

r = prestatario x prestamo

Page 22: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Ejemlplo 2:Determinar el nombre de todos los clientes que tienen concedido un prestamo en la sucursal de Navacerrada.

Page 23: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Determinar el nombre de todos los clientes que tienen concedido un prestamo en la sucursal de Navacerrada.

Nuevamente se consulta en las relaciones prestatario y prestamo.

Page 24: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

PrestamoPrestatario

Page 25: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

PrestamoPrestatario

Page 26: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Page 27: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Sin embargo, la columna nombre_cliente puede contener clientes que no tengan concedido ningun prestamo en la sucursal de Navacerrada.

¿Cómo solucionarlo?

Page 28: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Si un cliente tiene un prestamo en la sucursal de Navacerrada, hay una tupla de prestatario × prestamo que contiene su nombre y que prestatario.numero_prestamo = prestamo.numero_prestamo.

PrestamoPrestatario

Page 29: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLPor lo tanto, se tiene:

Y dado que sólo se desea obtener nombre_cliente, se realiza una proyección:

Page 30: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

PrestamoPrestatario

Page 31: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

En SQL:

Select nombre_cliente

From prestatario,prestamo

Where nombre_sucursal=“Navacerrada” and prestatario.numero_prestamo = prestamo.numero_prestamo

Page 32: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLDeterminar el nombre, el numero de prestamo y los importes de todos los prestamos de la sucursal de Navacerrada

Page 33: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLPara ordenarlos alfabéticamente

Page 34: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones en SQL

Se desea ordenar la relacion prestamo en forma descendente de importe. Si varios prestamos tienen el mismo importe, se ordenan de manera ascendente segun sus numeros de prestamo:

Page 35: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones sobre conjuntos en SQL

Union

Except

Corresponden con las operaciones del algebra relacional ∪ y −.Las relaciones que participan en las operaciones deben ser compatibles (mismo número de atributos).

Page 36: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLUniónTodos los clientes del banco que tienen un prestamo, una cuenta o las dos cosas en el banco

La operacion union (union) elimina los valores duplicados automaticamente.

Page 37: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

• Si un cliente — por ejemplo, Santos — tiene varias cuentas o prestamos (o ambas cosas) en el banco, solo aparecera una vez en el resultado.

• Si se desea conservar todos los duplicados hay que escribir union all en lugar de union:

Page 38: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQL

Page 39: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

• Media: avg• Minimo: min• Maximo: max• Total: sum• Recuento: count

Page 40: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLEjercicios de repaso

Base de datos EMPLEADOS

Page 41: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOS1. Determinar el nombre y ciudad de residencia de todos los empleados que

trabajan en el Banco BANAMEX

2. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que ganan mas de 10.000.

3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan mas de 10.000.

4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.

5. Determinar todas las empresas ordenadas alfabéticamente por nombre.

Page 42: Manejadores de Bases de Datos - Universidad Veracruzana · relacional. Base de datos EMPLEADOS 1. Determinar el nombre y ciudad de residencia de todos los empleados que trabajan en

Facultad de Estadística e Informática

Manejadores de Bases de Datos

Gracias por su atención