BASES DE DATOS...Base de datos EMPLEADOS 3. Determinar el nombre, domicilio y ciudad de residencia...
Transcript of BASES DE DATOS...Base de datos EMPLEADOS 3. Determinar el nombre, domicilio y ciudad de residencia...
-
Facultad de Estadística e Informática
Bases de Datos• L E N G U A J E D E C O N S U L T A S ( S Q L )
• C A R A C T E R Í S T I C A S D E S Q L
• D E F I N I C I Ó N D E D A T O S
• C O N S U L T A
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
• Manipulación
• Control de integridad
-
Facultad de Estadística e Informática
Base de datos ejemplo. Banco
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
• Media: avg (solo sobre números)• Mínimo: min• Máximo: max• Total: sum (solo sobre números)• Recuento: count
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖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
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregaciónDeterminar el saldo medio de todas las cuentas
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregaciónPara contar el número de tuplas de una relación se utiliza la función count.
Obtener el número de tuplas de la relación cliente:
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregaciónSi se desea eliminar los valores duplicados hay que utilizar la palabra clave distinct en la expresión de agregación.
▪ Determinar el número de impositores de cada sucursal
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Sucursales en las que el saldo medio de las cuentas sea superior a 1.200
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Determinar el menor sueldo.
SELECT MIN(sueldo) FROM `trabaja`
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_min
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Determinar el mayor activo.
SELECT MAX(activos) FROM `sucursal`
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_max
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregaciónEjercicios de repaso. Teniendo la base de datos:
EMPLEADOS
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)❖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 las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Ejercicios:
Determinar el mayor sueldo existente.
SELECT MAX(sueldo) FROM `trabaja`
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_max
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Ejercicios:
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.
SELECT nombre_empresa, COUNT(nombre_empleado) FROM `trabaja` GROUP BY nombre_empresa ORDER BY COUNT(nombre_empleado) asc
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_counthttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_count
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Funciones de agregación
Ejercicios:
Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.
SELECT nombre_empresa, AVG(sueldo) AS promedio_sueldo FROM `trabaja` GROUP BY nombre_empresa
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_avg
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)❖Funciones de agregación
Ejercicios:
Determinar las empresas y el sueldo promedio de los trabajadores que pertenecen a cada una de ellas.
SELECT nombre_empresa, AVG(sueldo) AS promedio_sueldo FROM `trabaja` GROUP BY nombre_empresa
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_avg
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)❖Reunión de relaciones
❖Es otro mecanismo, además del producto cartesiano.❖Se usa como una subconsulta de la cláusula FROM.❖Son mecanismos para reunir las tuplas de las relaciones:❖Reuniones condicionales❖Reuniones naturales❖Reuniones externas
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
❖Reunión natural❖natural join
Reunión natural de las relaciones Prestamo y Prestatario
prestamo NATURAL JOIN prestatario
Selecciona las tuplas que coinciden en los atributos con el mismo nombre, en este caso numero_prestamo
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)❖Reunión naturalSELECT * FROM prestamo NATURAL JOINprestatario
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.html
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:
Hallar todos los clientes que tienen una cuenta abierta y un préstamo concedido en el banco.
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:
Hallar todos los clientes que tienen una cuenta abierta y un préstamo concedido en el banco.
SELECT nombre_clienteFROM impositor NATURAL JOIN prestatario
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión NaturalHallar los nombres de todos los clientes que tienen concedido un préstamo en el banco y averiguar su número e importe:
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión NaturalHallar los nombres de todos los clientes que tienen concedido un préstamo en el banco y averiguar su número e importe:
Select nombre_cliente, prestatario.numero_préstamo, importefrom prestatario natural join prestamo
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:
Hallar el nombre de todas las sucursales con clientes que tienen una cuenta abierta en el banco y
viven en Peguerinos
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)Reunión Natural❖Otro ejemplo:
Hallar el nombre de todas las sucursales con clientes que tienen una cuenta abierta en el banco y
viven en PeguerinosSelect nombre_sucursalfrom cliente natural join (cuenta natural join impositor)Where ciudad_cliente=“Peguerinos”
-
Facultad de Estadística e Informática
Reunión natural
Base de datos EMPLEADOS
Lenguaje de Consultas (SQL)
-
Facultad de Estadística e Informática
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 más de 10.000.
3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan más de 10.000.
4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.
Lenguaje de Consultas (SQL)
-
Facultad de Estadística e Informática
Base de datos EMPLEADOS1. Determinar el nombre y ciudad de residencia de todos los empleados que
trabajan en el Banco BANAMEX
Lenguaje de Consultas (SQL)
Π empleado.nombre_empleado, ciudad (Ϭnombre_empresa="Banamex" ( empleado trabaja))Select empleado.nombre_empleado, ciudadfrom empleado natural join trabaja where nombre_empresa="Banamex"
-
Facultad de Estadística e Informática
Base de datos EMPLEADOS2. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que ganan más de 10.000.
Lenguaje de Consultas (SQL)
Π empleado.nombre_empleado, calle, ciudad (Ϭsueldo>10000 ( empleado trabaja))Select empleado.nombre_empleado, calle, ciudadfrom empleado natural join trabaja where sueldo>10000
-
Facultad de Estadística e Informática
Base de datos EMPLEADOS3. Determinar el nombre, domicilio y ciudad de residencia de todos los empleados que trabajan en el Banco BANAMEX y ganan más de 10.000.
SELECT empleado.nombre_empleado,calle,ciudad FROM empleado NATURAL JOI
N trabaja WHERE nombre_empresa="Banamex" AND sueldo>10000
Lenguaje de Consultas (SQL)
Π empleado.nombre_empleado, calle, ciudad (Ϭnombre_empresa="Banamex“∧ sueldo>10000 ( empleado trabaja))
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.htmlhttp://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/logical-operators.html#operator_and
-
Facultad de Estadística e Informática
Base de datos EMPLEADOS4. Determinar el nombre de los jefes con empleados en la ciudad de Xalapa.
Lenguaje de Consultas (SQL)
Π nombre_jefe (Ϭ ciudad="Xalapa" ( empleado jefe))
SELECT DISTINCT nombre_jefe FROM empleado NATURAL JOIN jefe WHERE ciudad="Xalapa"
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.html
-
Facultad de Estadística e Informática
Lenguaje de Consultas (SQL)
Gracias por su atención