Ejercicio - sentencias SQL DML 1. Realiza la base de datos para el siguiente Modelo Relacional. 2. Escribe las sentencias de inserción para registrar los siguientes datos. ● Cédula:123 ● Nombre: Candela ● Apellido: Moreira ● Fecha de nacimiento: 13/12/1994 ● Dirección: Calle 13 nro. 21 ● Ciudad: San Carlos ● Teléfono: 45 33 55 52 ● ● ● ● ● ● ● ● Cédula: 456 Nombre: Josefina Apellido: Correa Fecha de nacimiento: 5/7/2000 Dirección: Calle Buena Vista Ciudad: San Carlos Teléfono: 44 33 22 11 Celular: 098 987 876 ● ● ● ● ● ● ● ● ● Cédula: 789 Nombre: Pedro Miguel Apellido: Paresumo Fecha de nacimiento: 17/11/1984 Dirección: Calle Vista Borrosa s/n Ciudad: Maldonado Teléfono: 44 55 66 77 Celular: 099 766 433 Teléfono del trabajo: 46 45 44 42 ● ● ● ● ● Cédula: 999 Nombre: Pablo Apellido: Pardo Fecha de nacimiento: 17/12/1994 Dirección: Calle Vicios Coquetos s/n ● ● Ciudad: Maldonado Celular: 098 123 123 3. Escribir las sentencias para las siguientes necesidades. a. “Buenas tardes, he notado que mi nombre quedó mal registrado, me llamo Candelaria, no Candela. Mi cédula es 123. Gracias.” b. “Hola. Comencé un nuevo trabajo y quiero que se registre el número de teléfono por las dudas: 46 45 44 42. Mi cédula es 456. Gracias” c. “Hola. No me llegan las facturas y creo que es porque tienen mal mi dirección, esta es: Calle Vista Buenosa s/n. Gracias. Ah! Mi cédula es 789.” d. “Hola. Quiero que borren mi celular de su base de datos. Mi nombre es Josefina Correa.” e. “Buenos días. Quiero que me borren de su base de datos. Ya no quiero ser su cliente.” 4. Modifique la base de datos para dejar registro de que un cliente puede comprar muchos artículos y cada artículos puede ser comprado por muchos clientes. Se deberá registrar: a. Id del artículo b. Nombre c. Precio d. Moneda e. Fecha de compra f. Cantidad de artículos comprados 5. Realizar las sentencias para ingresar lo siguiente: a. Existe un artículo llamado Estatua de piedra corazón que cuesta 1500 dólares. b. Existen los artículos llamados Manzana de oro verde, Manzana de oro rojo y Manzana de oro amarillo. Cada una cuesta 98.000 pesos uruguayos. c. El cliente 123 compró el día 20 de octubre 2 cuadros de arpillera de 179 pesos uruguayos. d. El cliente 456 compró el día 21 de octubre 1 cuadros de arpillera. e. El artículo Manzana de oro rojo cambió su valor a 91.000 pesos uruguayos. Sentencias de selección Sintaxis: Ejemplo 1: SELECT cedula, nombre, apellido FROM empleados WHERE cedula > 105 and apellido like 'Pe' ORDER by nombre asc limit 3 Funciones de agrupación: Uso del having: Ejemplo 2: SELECT sum(sueldo), idArea as 'Area de trabajo', idProyecto as 'Proyecto en el que trabaja' from empleados GROUP by idArea having idProyecto > 8 Resolver: 1. Listar todos los artículos a la venta. Select * from articulos 2. Listar solo nombre y apellido de todos los clientes. Select nombre, apellido from clientes 3. Listar todos los clientes ordenados por apellido. Select * from clientes order by apellido 4. Listar todos los artículos ordenados por moneda y precio. Mostrar cuántos artículos hay. Mostrar la mitad de la cantidad de artículos que hay. Mostrar cuántos clientes hay. Mostrar los números de teléfono y sus comentarios del cliente 789. Listar nombres y apellidos en mayúsculas de los clientes que sean de Maldonado o Piriápolis. 10. Listar todos los clientes cuyo apellido comience con P. 5. 6. 7. 8. 9. 11. Mostrar cuántos artículos hay por moneda. 12. Mostrar cuántos clientes hay por ciudad. 13. Contar las ventas realizadas después del 15 de octubre. 14. Contar las ventas realizadas entre el primero y el 31 de octubre. 15. Sumar las cantidades de las ventas de octubre. 16. Contar las ventas por moneda. 17. Sumar los montos de las ventas por moneda. 18. Contar cuántos clientes cuyo nombre termine en A hay por ciudad. 19. Mostrar los datos de los dos primeros clientes ordenados por apellido de forma descendente. 20. Mostrar la cantidad de artículos a la venta agrupado por moneda. 21. Mostrar los datos de los clientes que no hayan registrado una dirección. 22. Mostrar nombre, apellido y el texto “Cliente” titulado como tipo, para todos los clientes de una ciudad que contenga la letra “e”. Usando subconsultas: 23. Mostrar nombre y apellido de los clientes que compraron el 15/10. Select nombre , apellido from cliente where ci in (select cedulaCliente from ventas where fecha=”2022/10/15” ) 24. Mostrar los teléfonos de los clientes cuyo apellido comiencen con C. Select numero from teléfonos where cedula in (select ci from clientes where apellido like ‘C%’) 25. Mostrar los nombres de los artículos comprados entre el 5 y el 10 de octubre. Select nombre from artículos where id in (select idArticulo from compras where fecha between ‘2022/10/05’ and ‘2022/10/10’) 26. Mostrar los datos de las compras de los clientes cuyo nombre comience con A. Select * from compras where ciCliente in (select ci from clientes where nombre like ‘A%’) 27. Listar nombres de los clientes que compraron en octubre. 28. Listar los teléfonos de las personas de apellido Correa. 29. Listar los nombres de los artículos comprados en octubre. 30. Listar los datos de los clientes que no tengan teléfono registrado. 31. Contar la cantidad de teléfonos agrupado por documento. 32. Mostrar documento de aquellos que tienen dos teléfonos o más. 33. Listar los datos de los clientes que tienen dos teléfonos o más. 34. Listar datos de los clientes que compraron el artículo llamado Estatua de piedra corazón. 35. Listar datos de los clientes que compraron un artículo de más de 100 dólares. 36. Listar los nombres de los artículos comprados por alguien llamado Josefina Correa. Usando unión, intersección y diferencia: 37. Mostrar nombres, apellidos y categoría de la unión de aquellos nacidos antes del 01/01/1990 cuya categoría es “Ochentones” y los nacidos entre el 01/01/2000 y el 01/01/2010 cuya categoría es “Milenials”. 38. Mostrar nombre y documento de aquellos que compraron el día 01/10/2022 y también el día 10/10/2022. 39. Mostrar nombre y documento de aquellos que compraron el artículo 1 pero no compraron el artículo 3. Usando join: 40. Listar los clientes que han comprado ordenados desde el que ha comprado mayor cantidad de veces al que ha comprado menos, mostrar documento, nombre y cantidad de veces que ha comprado. 41. Mostrar nombre y apellido de los clientes junto con sus números de teléfono, si no tiene teléfono ser verá null. 42. Mostrar fecha de la compra, cantidad, nombre del producto, moneda, precio y total de todas las compras. 43. 44. Mostrar nombre y apellido de los clientes y los nombres de los productos que compraron. 45. Contar las ventas por moneda. 46. Sumar los montos de las ventas (cantidad por precio) por moneda. 47. Mostrar una lista con los documentos de los clientes y un valor que diga cliente junto con los números de artículos y su nombre.