Ejercicios resueltos - Algebra Relacional

March 21, 2018 | Author: Jorge Javier Robas | Category: Sql, Information Technology Management, Computer Data, Data Management Software, Data Management


Comments



Description

PROVEEDOR (id_proveedor, nombre, categoria, ciudad) ARTICULO (id_articulo, descripción, ciudad, precio) CLIENTE (id_cliente, nombre, ciudad) PEDIDO (id_pedido, id_proveedor, id_articulo, id_cliente, cantidad, precio_total) PROVEE (id_proveedor, id_articulo) a. Hallar el código de los proveedores que proveen el artículo 146. SQL SELECT PROVEE.ID_PROVEEDOR FROM PROVEE WHERE A.ID_ARTICULO = 146 ALGEBRA b. Hallar los clientes que solicitan artículos provistos por el proveedor 15. SQL SELECT PEDIDO.ID_CLIENTE FROM PEDIDO WHERE PEDIDO.ID_PROVEEDOR=15 ALGEBRA c. Hallar los clientes que solicitan algún artículo provisto por proveedores cON categoría mayor que 4. SQL SELECT Pe.ID_CLIENTE FROM PEDIDO Pe JOIN PROVEEDOR P ON P.ID_PROVEEDOR=Pe.ID_PROVEEDOR WHERE P.CATEGORIA>40 ALGEBRA ( ) ID_PEDIDO FROM CLIENTE C JOIN PEDIDO PE ON C.ID_CLIENTE WHERE C.CIUDAD=”ROSARIO” ALGEBRA ( ) e.ID_CLIENTE JOIN ARTICULO AR ON AR.ID_ARTICULO WHERE C. Hallar los pedidos en los que un cliente de Rosario solicita artículos producidos en la ciudad de Mendoza.d. SQL SELECT PE.ID_ARTICULO=PE.CIUDAD=”MENDOZA” ALGEBRA ( ( ) ) .CIUDAD=”ROSARIO” AND AR. Hallar los pedidos realizados por clientes de la ciudad de Rosario.ID_PEDIDO FROM PEDIDO Pe JOIN CLIENTE C ON C. SQL SELECT Pe.ID_CLIENTE=PE.ID_CLIENTE=Pe. Hallar los pedidos en los que el cliente 23 solicita artículos no pedidos por el cliente 30.ID_CLIENTE=30) ALGEBRA ( ) .ID_PEDIDO FROM PEDIDO WHERE PEDIDO.ID_CLIENTE=23 AND ID_ARTICULO NOT IN (SELECT PEDIDO.ID_PEDIDO FROM PEDIDO WHERE PEDIDO.f. SQL SELECT PEDIDO. Hallar los pares de ciudades (ciudad1.CIUDAD FROM PROVEEDOR PR JOIN PEDIDO PE ON PR.g.ID_PROVEEDOR=PE. ciudad2). tales que un proveedor de la ciudad1 provee artículos pedidos por clientes de la ciudad2.ID_PROVEEDOR JOIN CLIENE C ON C. C.ID_CLIENTE=PE. SQL SELECT DISTINCT PR.ID_CLIENTE ALGEBRA ( ) ( ) .CIUDAD. ID_PROVEEDOR JOIN ARTICULO A ON A.CATEGORIA FROM PROVEEDOR P WHERE CATEGORIA > ALL (SELECT P. Hallar el nombre de los proveedores cuya categoría sea mayor que la de todos los proveedores que proveen el artículo Cuaderno.h. SQL SELECT P.DESCRIPCION=”CUADERNO”) ALGEBRA ( ) ( ( ) ) . P.ID_PROVEEDOR=PR.ID_ARTICULO=PR.NOMBRE.ID_ARTICULO WHERE A.CATEGORIA FROM PROVEEDOR P JOIN PROVEE PR ON P. ID_ARTICULO=A.ID_CLIENTE JOIN ARTICULO A ON P. SQL SELECT P.ID_ARTICULO=A.CIUDAD=”SALTA”) ALGEBRA ( ) ( ) ( ) .PRECIO = ANY (SELECT MAX (A.ID_CLIENTE=C.i.ID_PROVEEDOR HAVING A.ID_ARTICULO WHERE C. Hallar los proveedores que proveen el artículo más caro que haya sido comprado alguna vez por un cliente de la ciudad de Salta.PRECIO) FROM CLIENTE C JOIN PEDIDO P ON P.CIUDAD=”SALTA” GROUP BY P.ID_PROVEEDOR FROM CLIENTE C JOIN PEDIDO P ON P.ID_CLIENTE=C.ID_CLIENTE JOIN ARTICULO A ON P.ID_ARTICULO WHERE C. ID_CLIENTE JOIN ARTICULO A ON A.ID_ARTICULO)>=2 ALGEBRA ( ) ( ) ( ) .j.ID_CLIENTE=C. Hallar los clientes que han pedido 2 o más artículos distintos.ID_ARTICULO=P.ID_CLIENTE HAVING COUNT (DISTINCT A. SQL SELECT C.ID_ARTICULO GROUP BY C.ID_CLIENTE FROM CLIENTE C JOIN PEDIDO P ON P. ID_PROVEEDOR C.k.ID_PROVEEDOR=P.ID_ARTICULO WHERE PR.CIUDAD=”SAN JUAN”) ALGEBRA ( ) ( ) ( ) . Hallar los proveedores que no tienen ningún pedido en los que el cliente es de la ciudad de Corrientes y el artículo es producido en San Juan.CIUDAD=”CORRIENTES” AND A.ID_PROVEEDOR FROM PROVEEDOR PR WHERE NOT EXISTS (SELECT * FROM PEDIDO P JOIN CLIENTE C ON P.ID_CLIENTE JOIN ARTICULO A ON A. SQL SELECT P.ID_ARTICULO=P.ID_CLIENTE=C. l. Hallar la cantidad de artículos diferentes que sON provistos por cada uno de los proveedores de la base de datos.ID_PROVEEDOR. SQL SELECT P.ID_ARTICULO) FROM PROVEE P GROUP BY P.ID_PROVEEDOR ALGEBRA ( ) . COUNT (A. ID_PLANTA WHERE P.ID_EMPLEADO JOIN PLATAN P ON P. distancia) /* Todas las combinaciONes posibles entre localidades distintas */ a. SQL SELECT E.ID_PLANTA=T. Listar el nombre de los EMPLEADOs que no trabajan en Bahía Blanca. domicilio. id_planta. descripción) PLANTA (id_planta.ID_EMPLEADO=T. antigüedad) FUNCION (id_funcion. localidad. id_funciON) /* FunciONes que cada EMPLEADO está en cONdiciONes de realizar */ ORGANIZACIÓN (id_planta. fecha_hasta) /* Los EMPLEADOs que trabajan actualmente en cada planta tienen null en fecha_hasta */ DISTANCIA (localidad1. id_EMPLEADO. nombre. localidad) TAREA (id_EMPLEADO. localidad2.ID_EMPLEDO FROM EMPLEADO E JOIN TRABAJA T ON E. fecha_desde. descripción.LOCALIDAD<>”BAHÍA BLANCA” ALGEBRA ( ) ( ) ( ) . if_funciON) /* FunciONes previstas como necesarias para el funciONamiento de la planta */ TRABAJA (id_trabaja.Ejercicio 2 Sea el siguiente esquema de base de datos relaciONal: EMPLEADO (id_EMPLEADO. ID_FUNCION AND P.ID_EMPLEADO WHERE E.ID_PLANTA=O.b.ID_PLANTA WHERE P.ID_EMPLEADO=T. Listar las funciones que sean desempeñadas por un EMPLEADO de Santa Fe y que no sean requeridas en una planta de Paraná.ID_FUCION FROM PLANTA P JOIN ORGANIZACIÓN O ON O.ID_PLANTA WHERE T.LOCALIDAD=”PARANÁ”) SELECT T.ID_FUNCION FROM EMPLEADO E JOIN TAREA T ON E.ID_FUNCION=O.ID_EMPLEADO=T.ID_FUNCION FROM EMPLEADO E JOIN TAREA T ON E.LOCALIDAD=”SANTA FE” NOT EXIST (SELECT * FROM PLANTA P JOIN ORGANIZACIÓN O ON P. SQL SELECT T.ID_EMPLEADO WHERE E.LOCALIDAD=”SANTA FE” AND T.LOCALIDAD=”PARANÁ”) ALGEBRA ( ( ) ) .ID_PLANTA=O.ID_FUNCIO NOT IN (SELECT O. “Tarea” T.id_empledo GRUOP BY E.c. Listar los empleados que estén en condiciones de cumplir una función cualquiera en cada una de las plantas.id_plata HAVING COUNT (*) = (SELECT COUNT (id_planta) FROM PLANTA)) ALGEBRA ( ) ( ( ) ) .apellido FROM “Organizacion” O. SQL SELECT E.id_funcion AND E. O. E.apellido.id_funcion = O. E. “Empleado” E WHERE T.nombre.nombre.id_empleado=T. SQL SELECT P.id_empleado) FROM “Empleado” E.id_planta. Listar la cantidad de empleados por planta y el porcentaje que representa sobre el total de empleados de la empresa.id_empleado = T.d.id_empleado AND T.id_empleado . COUNT (E.id_planta GROUP BY P. “Planta” P WHERE E.id_planta. “Trabaja” T. E.id_planta=P.
Copyright © 2024 DOKUMEN.SITE Inc.