LABORATORIO4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

ADMINISTRACIÓN DE BASES DE DATOS

LABORATORIO 4

Administración de bases de datos y consultas avanzadas.

Paso 1:

Despliegue el siguiente modelo Entidad-Relación (E-R) en el Sistema Gestor


de Bases de Datos (SGBD) MariaDB, utilizando PhpMyAdmin, en sus
respectivas máquinas virtuales. El modelo E-R corresponde a una tienda de
Tecnología. El nombre de la base de datos es: jardineria
En el Aula Virtual se encuentra publicado el archive jardineria.sql el cual
crea la Base de Datos, tablas y relaciones que se ilustran en el modelo E-
R anterior, además de agregar todos los datos necesarios (recuerde crear
el usuario respectivo con privilegios sobre la base de datos). Debe
importer el archive SQL desde PhpMyAdmin.
Verifique que la data fue insertada satisfactoriamente ingresando a las
respectivas tablas y consultando su contenido en PhpMyAdmin.

Paso 2: Consultas sobre una tabla

Diseñe las respectivas consultas SQL para:

1. Devuelve un listado con el código de oficina y la ciudad donde hay oficinas.


2. Devuelve un listado con la ciudad y el teléfono de las oficinas de España.
3. Devuelve un listado con el nombre, apellidos y email de los empleados cuyo jefe
tiene un código de jefe igual a 7.
4. Devuelve el nombre del puesto, nombre, apellidos y email del jefe de la empresa.
5. Devuelve un listado con el nombre, apellidos y puesto de aquellos empleados que
no sean representantes de ventas.
6. Devuelve un listado con el nombre de los todos los clientes españoles.
7. Devuelve un listado con los distintos estados por los que puede pasar un pedido.
8. Devuelve un listado con el código de cliente de aquellos clientes que realizaron
algún pago en 2008. Tenga en cuenta que deberá eliminar aquellos códigos de
cliente que aparezcan repetidos. Resuelva la consulta:
9. Utilizando la función YEAR de MySQL.
10. Utilizando la función DATE_FORMAT de MySQL.
11. Sin utilizar ninguna de las funciones anteriores.
12. Devuelve un listado con el código de pedido, código de cliente, fecha esperada y
fecha de entrega de los pedidos que no han sido entregados a tiempo.
13. Devuelve un listado con el código de pedido, código de cliente, fecha esperada y
fecha de entrega de los pedidos cuya fecha de entrega ha sido al menos dos días
antes de la fecha esperada.
14. Utilizando la función ADDDATE de MySQL.
15. Utilizando la función DATEDIFF de MySQL.
16. ¿Sería posible resolver esta consulta utilizando el operador de suma + o resta -?
17. Devuelve un listado de todos los pedidos que fueron rechazados en 2009.
18. Devuelve un listado de todos los pedidos que han sido entregados en el mes de
enero de cualquier año.
19. Devuelve un listado con todos los pagos que se realizaron en el
año 2008 mediante Paypal. Ordene el resultado de mayor a menor.
20. Devuelve un listado con todas las formas de pago que aparecen en la tabla pago.
Tenga en cuenta que no deben aparecer formas de pago repetidas.
21. Devuelve un listado con todos los productos que pertenecen a la
gama Ornamentales y que tienen más de 100 unidades en stock. El listado deberá
estar ordenado por su precio de venta, mostrando en primer lugar los de mayor
precio.
22. Devuelve un listado con todos los clientes que sean de la ciudad de Madrid y cuyo
representante de ventas tenga el código de empleado 11 o 30.

Paso 3: Consultas multitabla (Composición interna)

Diseñe las respectivas consultas SQL para:

Las consultas se deben resolver con INNER JOIN y NATURAL JOIN.

1. Obtén un listado con el nombre de cada cliente y el nombre y apellido de su


representante de ventas.
2. Muestra el nombre de los clientes que hayan realizado pagos junto con el
nombre de sus representantes de ventas.
3. Muestra el nombre de los clientes que no hayan realizado pagos junto con el
nombre de sus representantes de ventas.
4. Devuelve el nombre de los clientes que han hecho pagos y el nombre de sus
representantes junto con la ciudad de la oficina a la que pertenece el
representante.
5. Devuelve el nombre de los clientes que no hayan hecho pagos y el nombre de
sus representantes junto con la ciudad de la oficina a la que pertenece el
representante.
6. Lista la dirección de las oficinas que tengan clientes en Fuenlabrada.

Paso 4: Consultas multitabla (Composición externa)

Diseñe las respectivas consultas SQL utilizando las claúsulas LEFT JOIN
y RIGHT JOIN, para:

Resuelva todas las consultas utilizando las cláusulas LEFT JOIN, RIGHT JOIN, NATURAL LEFT
JOIN y NATURAL RIGHT JOIN.

1. Devuelve un listado que muestre solamente los clientes que no han realizado
ningún pago.
2. Devuelve un listado que muestre solamente los clientes que no han realizado
ningún pedido.
3. Devuelve un listado que muestre los clientes que no han realizado ningún
pago y los que no han realizado ningún pedido.
4. Devuelve un listado que muestre solamente los empleados que no tienen una
oficina asociada.
5. Devuelve un listado que muestre solamente los empleados que no tienen un
cliente asociado.
6. Devuelve un listado que muestre solamente los empleados que no tienen un
cliente asociado junto con los datos de la oficina donde trabajan.
7. Devuelve un listado que muestre los empleados que no tienen una oficina
asociada y los que no tienen un cliente asociado.
8. Devuelve un listado de los productos que nunca han aparecido en un pedido.

Paso 5: Consultas para resumir o sintetizar datos:

Diseñe las respectivas consultas SQL para:

1. Devuelve un listado de los 20 productos más vendidos y el número total de


unidades que se han vendido de cada uno. El listado deberá estar ordenado
por el número total de unidades vendidas.
2. La facturación que ha tenido la empresa en toda la historia, indicando la base
imponible, el IVA y el total facturado. La base imponible se calcula sumando el
coste del producto por el número de unidades vendidas de la
tabla detalle_pedido. El IVA es el 21 % de la base imponible, y el total la suma
de los dos campos anteriores.
3. La misma información que en la pregunta anterior, pero agrupada por código
de producto.
4. La misma información que en la pregunta anterior, pero agrupada por código
de producto filtrada por los códigos que empiecen por OR.
5. Lista las ventas totales de los productos que hayan facturado más de 3000
euros. Se mostrará el nombre, unidades vendidas, total facturado y total
facturado con impuestos (21% IVA).
6. Muestre la suma total de todos los pagos que se realizaron para cada uno de
los años que aparecen en la tabla pagos.

NOTA: Debe escribir bajo cada item la sentencia SQL diseñada y un


pantallazo del resultado.

El pantallazo debe abarcar toda la Ventana, donde se visualice la URL de


PhpMyAdmin, cantidad de datos y tiempo de ejecución, la clausula
diseñada y algunos datos. Ejemplo:
Referencias de ayuda:

https://codigosql.com/glosario-de-base-de-datos-y-comandos-sql/

https://www.w3resource.com/sql/tutorials.php

También podría gustarte