manejadores de bases de datos - universidad veracruzana · 2020. 3. 19. · facultad de...

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

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

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

Page 2: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

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 3: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

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 4: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Base de datos ejemplo. Banco

Page 5: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

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 6: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Operaciones en SQLEjercicios de repaso

Base de datos EMPLEADOS

Page 7: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

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 8: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOS

¿Qué atributos se solicitan?

¿De acuerdo a los atributos solicitados qué relaciones se necesitan?

¿Qué condición se requiere?

¿De acuerdo a la condición presentada qué relaciones se necesitan?

Page 9: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOSDeterminar el nombre y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX.

Select empleado.nombre_empleado, ciudad

From empleado, trabaja

Where empleado.nombre_empleado=trabaja.nombre_empleado and nombre_empresa="Banamex"

Page 10: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOSDeterminar el nombre y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX.

Select empleado.nombre_empleado, ciudad

From empleado, trabaja

Where empleado.nombre_empleado=trabaja.nombre_empleado and nombre_empresa="Banamex"

Empleado Trabaja

Page 11: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Qué pasa si no se coloca la condición: empleado.nombre_empleado=trabaja.nombre_empleado

Base de datos EMPLEADOSDeterminar el nombre y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX.

Select empleado.nombre_empleado, ciudad

From empleado, trabaja

Where trabaja.nombre_empresa="Banamex"

Page 12: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Base de datos EMPLEADOSDeterminar el nombre y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX.

Select empleado.nombre_empleado, ciudad

From empleado, trabaja

Where trabaja.nombre_empresa="Banamex"

Empleados de la relación Trabaja, que trabajan en Banamex

Empleados de la relación Empleado

Page 13: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Page 14: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOS

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

Select empleado.nombre_empleado, calle, ciudad

From empleado, trabaja

Where sueldo>10000 and empleado.nombre_empleado=trabaja.nombre_empleado

Page 15: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOSDeterminar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan mas de 10.000.

Select empleado.nombre_empleado, calle, ciudad

From empleado, trabaja

Where empleado.nombre_empleado=trabaja.nombre_empleado and nombre_empresa="Banamex" and sueldo>10000

Page 16: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos EMPLEADOSDeterminar el nombre de los jefes con empleados en la ciudad de Xalapa.

Select Distinct nombre_jefe

From empleado, jefe

Where empleado.nombre_empleado=jefe.nombre_empleado and ciudad="Xalapa"

Determinar todas las empresas ordenadas alfabéticamente por nombre.

Select nombre_empresa

From empresa

Order by nombre_empresa

Page 17: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos cursosenlineaMás ejercicios:

1. Mostrar el nombre del alumno, apellido paterno, apellido materno del los alumnos que tengan asignado el idCurso 2.2. Mostrar el apellido paterno y la fecha de inscripción de todos los alumnos.

Page 18: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Base de datos bancoMás ejercicios:

1. Mostrar nombre_sucursal y ciudad_sucursal que tengan préstamos con importes mayores a 1000 pesos.2. Mostrar el nombre del cliente, ciudad del cliente y número de cuenta de todos los clientes.

Page 19: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Mostrar nombre_sucursal y ciudad_sucursal que tengan préstamos con importes mayores a 1000 pesos.

Page 20: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Mostrar el nombre del cliente, ciudad del cliente y número de cuenta de todos los clientes.

Page 21: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones en SQL

Operaciones con cadenas de caracteres

La operacion mas utilizada sobre las cadenas de caracteres es la comparacion de patrones, para la que se usa el operador like. Para la descripcion de los patrones se utilizan dos caracteres especiales:

• Tanto por ciento ( %). El caracter % coincide con cualquier subcadena de caracteres.

• Subrayado(_).El caracter _ coincide con cualquier caracter.

Page 22: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones con cadenas de caracteres

* Los caracteres en mayusculas se consideran diferentes de los caracteres en minuscula, y viceversa.

’Nava %’ cualquier cadena de caracteres que empiece con “Nava”.

’%cer%’ cualquier cadena que contenga “cer” como subcadena, por ejemplo’Navacerrada’, ’Caceres’ y ’Becerril’.

’_ _ _’ cualquier cadena que tenga exactamente tres caracteres.

’_ _ _ %’ cualquier cadena que tenga, al menos, tres caracteres.

Page 23: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Operaciones con cadenas de caracteres

Determinar el nombre de todos los clientes cuya direccion contenga la subcadena de caracteres ‘Mayor’

Para buscar discordancias: not like.

Page 24: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

• Media: avg (solo sobre números)

• Minimo: min• Maximo: max• Total: sum (solo sobre números)

• Recuento: count

Page 25: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónDeterminar el saldo medio de las cuentas de la sucursal de Navacerrada

Determinar el saldo medio de las cuentas de cada sucursal

Galapagar?

Page 26: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónDeterminar el saldo medio de las cuentas de cada sucursal

La cláusula group by agrupa la operación avg(saldo), por cada sucursal

Page 27: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónDeterminar el saldo medio de todas las cuentas

Page 28: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónPara contar el numero de tuplas de una relacion se utiliza la función count.

Obtener el numero de tuplas de la relacion cliente:

Page 29: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónSi se desea eliminar los valores duplicados hay que utilizar la palabra clave distinct en la expresion de agregacion.

Determinar el numero de impositores de cada sucursal

Page 30: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación Determinar el numero de impositores de cada sucursal

La cláusula group by agrupa la operación count(distinctnombre_cliente) por cada sucursal

Page 31: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Page 32: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

Sucursales en las que el saldo medio de las cuentas sea superior a 1.200

Page 33: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

La cláusula Having, es similar a Where, pero se utiliza para funciones de agregación y para comparar conjuntos de filas.

Page 34: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

La cláusula having (teniendo) hace la comparación del promedio del saldo mayor a 1200.

Page 35: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Page 36: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

Determinar el saldo medio de cada cliente que vive en Peguerinos y tiene, como minimo, tres cuentas

Page 37: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónDeterminar el saldo medio de cada cliente que vive en Peguerinos y tiene, como minimo, tres cuentas

Agrupa la operación de saldo, por cliente

Hace la comparación de la cuenta de filas realizada la función count sea mayor o igual a 3.

Page 38: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Page 39: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Base de datos ejemplo. Banco

Page 40: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

Determinar el saldo medio de cada cliente que vive en La Granja y tiene, como minimo, dos cuentas

Page 41: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

Determinar el menor sueldo.

SELECT MIN(sueldo) FROM `trabaja`

Page 42: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregación

Determinar el mayor activo.

SELECT MAX(activos) FROM `sucursal`

Page 43: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Funciones de agregaciónEjercicios de repaso. Teniendo la base de datos:

EMPLEADOS

Page 44: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Funciones de agregación

Ejercicios:

1. Determinar el mayor sueldo existente.

2. Determinar el nombre de la empresa y el número de empleados que tiene cada una, ordenados de forma ascendente por número de empleado.

3. Determinar todos los empleados de la base de datos que viven en la misma ciudad que la empresa para la que trabajan.

4. Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.

Page 45: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Manejadores de Bases de Datos

Más ejercicios e información en:https://www.w3schools.com/sql/

Page 46: Manejadores de Bases de Datos - Universidad Veracruzana · 2020. 3. 19. · Facultad de Estadística e Informática Bases de datos estructuradas –Modelo relacional. Operaciones

Facultad de Estadística e Informática

Manejadores de Bases de Datos

Gracias por su atención