GD_2008-TP4

8
U.N.Ca. Trabajo Práctico N° 4 Gestión de Datos 2008 SQL UNIVERSIDAD NACIONAL DE CATAMARCA FACULTAD DE TECNOLOGÍA Y CS. APLICADAS Ingeniería en Informática G G E E S S T T I I O O N N D D E E D D A A T T O O S S TRABAJO PRACTICO Nº 4 TRABAJO PRACTICO Nº 4 TEMA : Manejo de SQL OBJETIVOS : Emplear comandos de SQL para definir y manipular datos. Realizar consultas mediante comandos de SQL. Trabajar en forma grupal, incentivando el intercambio de ideas, la puesta en común y la elaboración grupal. Conceptos a tener en claro: comandos de manipulación de datos, comandos de definición de datos, comando de control de datos. Índices. Vistas. DOCENTES : Profesora : Lic. Soledad Bustos Aguiar Ayudantes Diplomados : Lic. Daniela Lobos Anfuso Lic. Manuel Baquinzay Año 2008

description

breve tutorial sobre sintaxis sql

Transcript of GD_2008-TP4

U.N.Ca. Trabajo Prctico N 4Gestin de Datos2008 SQL

U UN NI IV VE ER RS SI ID DA AD D N NA AC CI IO ON NA AL LD DE E C CA AT TA AM MA AR RC CA AF FA AC CU UL LT TA AD D D DE E T TE EC CN NO OL LO OG G A A Y Y C CS S. . A AP PL LI IC CA AD DA AS SIngeniera en Informtica GGEESSTTIIOONN DDEE DDAATTOOSS TRABAJO PRACTICO N 4 TRABAJOPRACTICON 4 TEMA: Manejo de SQL OBJETIVOS: Emplear comandos de SQL para definir y manipular datos. Realizar consultas mediante comandos de SQL. Trabajaren forma grupal, incentivando el intercambio de ideas, la puesta en comn y la elaboracin grupal. Conceptos a tener en claro: comandosdemanipulacindedatos,comandosde definicin de datos, comando de control de datos. ndices. Vistas. DOCENTES: Profesora: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso Lic. Manuel Baquinzay Ao 2008 U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 1 EJERCICIO N1: Dadas las tablas del Problema Resuelto n1 del Trabajo Prctico n1 (Problemas de Lemas y Sublemas) con los va-lores establecidos en el Trabajo Prctico n2, resolver las consultas n3, 4 y 5 en SQL. LEMA numero_lema # denominacionnombre_apoderdireccion_sedefecha_personer SUBLEMAS numero_sublema# denominacionnombre_apoderadodireccion_sede CANDIDATO dni # apellido_nombresdireccionlocalidadfecha_nacimiento MESAS_VOTACION numero_mesa # tipoubicaciondireccionnro_ empradonados nro_ votantes votos_ blancos votos_ nulos votos_ recurridos CAND_SUBLEMAS dni # numero_sublema # categoracaracterorden VOTOS_SUBLEMAS numero_mesa # numero_sublema# votos_legisladorvotos_concejal LEMA_SUBLEMAS numero_lema# numero_sublema# Consulta n 1: Listar nmero demesa, tipo,nombre de la escuela o reparticin, direccin,que haya registrado en el escrutinio que no tengan votos nulos, blancos o recurridos, ordenados por nmero de mesa en forma descen-dente. SELECT Numero_Mesa Nmerode Mesa, Tipo Tipo, UbicacinNombre Escuela o Reparticin, Dire-cin Direccin FROM Mesas_Votacin WHERE Votos_Blanco =0 AND Nulos =0 AND Votos_Recurridos =0 ORDER BY Numero_Mesa DESC Tabla resultante: Nmero deMesaTipoNombre Escuela o ReparticionDireccion 4FemEscuela 9 de J ulioCatamarca 112 3MascUniv. TecnologicaRivadavia 1050 PRIMERA PARTE EJERCICIOS RESUELTOS U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 2Consulta n 2: Listar el nmero de lema de lema, denominacin del Lema, direccin de la sede, fecha de otorga-miento de la personera poltica, nombre del apoderado, y cantidad de sublemas presentados, de aquellos que po-sean ms de tres sublemas presentados para la categora concejal. SELECT LEMA.numero_lemaNmero de Lema, LEMA.denominacin, Denominacin, LE-MA.direccin Direccin,LEMA.fecha_personer Fecha Pers. Pol., LEMA.nombre_apoder Apodera-do, COUNT (*) Cantidad de SublemasFROM LEMAS , SUBLEMAS, CAND_SUBLEMA WHERE LEMA.numero_lema =SUBLEMA.numero_lema AND SUBLEMA.numero_sublema =CAN_SUBLEMA.numero_sublema AND CAND_SUBLEMA.categora =consejalGROUP BY L.Nmero_Lema HAVING COUNT (*)>3; Tabla resultante: Nmero de Lema DenominacinDireccin Fecha Pers.Pol Apoderado Cantidad de Sublemas 21Frente Fundacional de TucumnRivadavia 15010/02/1971Antonio Guerrero5 35Fuerza RepublicanaLaprida 84311/09/1991Pablo Calvetti4 Consulta n 3: Listar la cantidad de votos totales para elDepartamento Capital obtenidos por cada sublema del lema Fuerza Republicana, discriminando las categoras de concejales y legisladores, indicando nmero de sublema y denominacin del mismo.- SELECTVOTOS_SUBLEMA.numero_sublemaNmero deSublema,SUBLEMAS.denominacin, Denominacin,SUM(VOTOS_SUBLEMA.votos_legislador)VotosLegislador,SUM (VOTOS_SUBLEMAS.votos_concejal) Votos ConcejalFROM SUBLEMAS, VOTOS_SUBLEMA, LEMAS WHERE VOTOS_SUBLEMA.numero_sublema =SUBLEMAS.numero_sublema AND LEMAS.numero_lema =SUBLEMAS.numero_lemaAND LEMAS.denominacin =Fuerza RepublicanaGROUP BY VOTOS_SUBLEMA.numero_sublema; Tabla Resultante: Nmero de LemaDenominacinVotos LegisladorVotos Concejal 2001Todos con el General9693 2002Fuerza Tucumn9092 2003Honestidad y Coraje112107 2004Tucumn Primero122125 U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 3EJERCICIO N 2: A partir de las tablas del Problema Resuelto n2 del Trabajo Prctico n1 (Problema del centro de cmputos) con los valores establecidos en el Trabajo Prctico n2, resolver las consultas a, b y c, en SQL. EMPLEADO dni# nombre_apellidoTitulodomiciliotelefonoareafecha_ingreso_computos PASANTE dni # universidadcarrerafecha_inicio_pasantiafecha_fin_pasantia EMPLEADO_REP dni # titulo PEDIDOS numero_pedido # tarea_solicitadafecha_pedidoarea nom_apellido_responsable ANALISIS numero_pedido # dni# fecha_inicio_analisisfecha_fin_analisisfecha_pase_ programacion descripcion APLICACIONES numero_pedido# dni# fecha_inicio_ aplicacion fecha_fin_ aplicacion lenguaje_ programacion descripcion_aplicacion Consulta n 1: Listar el nombrey apellido de los empleados que realizaron el anlisis documentacin del Sistema de Intimaciones. Grandes Contrib. DGR- Tucumn yque tambin hayan realizado el anlisis do-cumentacin delSistema Gral. de Mesa de Entradas. SELECTEMPLEADO.nombre_apellido Nombre y ApellidoFROM EMPLEADO, ANALISIS, PEDIDOS WHERE EMPLEADO.dni =ANALISIS.dni ANDPEDIDOS.numero_pedido =ANALISIS.numero_pedidoAND ANALISIS.descripcin =anlisis documentacin AND PEDIDOS.tarea_solicitada =Sistema de Intimaciones. Grandes Contrib. DGR - Tucumn AND EMPLEADO.dni INSELECTEMPLEADO.dni FROM EMPLEADO, ANALISIS, PEDIDOS WHERE EMPLEADO.dni =ANALISIS.dniAND PEDIDOS.numero_pedido =ANALISIS.numero_pedido AND ANALISIS.descripcin =anlisis documentacinAND PEDIDOS.tarea_solicitada = Sistema Gral. de Mesa de Entradas)ORDER BY 1; Tabla Resultante: Nombre y Apellido Silvia Cirelli U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 4 Consulta n 2: Listar las aplicaciones que empezaron a realizarse en Abril del 2004 y no estn finalizadas. Indicar que programador se le asigno. No considerar los pedidos del rea: Gerencial.a SELECTPEDIDOS.tarea_solicitada Aplicaciones, APLICACIONES.fecha_inicio_aplicacin Fecha de inicio de la aplicacin,EMPLEADO.nombre_apellido Nombre y Apellido del Programador FROM EMPLEADO, APLICACIONES, PEDIDOS WHERE EMPLEADO.dni= APLICACIONES.dniANDPEDIDOS.numero_pedido=APLICACIONES.numero_pedido ANDAPLICACIONES.fecha_inicio_aplicacin BETWEEN 01/04/2004 AND 30/04/2004 ANDAPLICACIONES.fecha_fin_aplicacinIS NULL ANDPEDIDOS.area ! =Gerencial ORDER BY PEDIDOS.tarea_solicitada Tabla Resultante: AplicacionesFecha de inicio de la aplicacinNombre y Apellido el Programador Sistema Gral. de Mesa de Entradas15/04/2004Eduardo Gonzalez Sistema Gral. de Mesa de Entradas15/04/2004Sergio Snchez Consulta n 3: Listar los programas que desarrollaron los programadores: Sergio Snchez y Martn Lpez Pondal en este ao para las reas: PyMC y DGR. No considerar los pedidos realizados por:el Sr. Carlos Calvo. SELECTPEDIDOS.tarea_solicitadaAplicaciones,PEDIDOS.areaArea", APLICACIO-NES.fecha_inicio_aplicacin Fechade inicio de la aplicacin, EMPLEADO.nombre_apellido Nombre y Apellido del Programador FROM EMPLEADO, APLICACIONES, PEDIDOS WHERE EMPLEADO.dni=APLICACIONES.dni ANDPEDIDOS.numero_pedido =APLICACIONES.numero_pedido AND APLICACIONES.fecha_inicio_aplicacin >=01/01/2005 ANDEMPLEADO.nombre_apellido in (Sergio Snchez, Martn Lpez Pondal) ANDPEDIDOS.area in ( PyMC y DGR) ANDPEDIDOS.nom_apellido_responsable =Sr. Carlos Calvo ORDER BY PEDI-DOS.tarea_solicitada Tabla Resultante: AplicacionesAreaFecha de inicio de la aplicacinNombre y Apellido del Programador Asignacin de J uiciosPyMC25/01/2005Sergio Snchez Asignacin de J uiciosPyMC25/01/2005Martn Lpez Pondal Sistema de SellosPyMC01/03/2005Sergio Snchez Sistema de SellosPyMC01/03/2005Martn Lpez Pondal U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 5 SEGUNDA PARTE EJERCICIOS PROPUESTOS EJERCICIO N 1: Tomando como referencia un sistema de Stock crear la siguientes tabla de Articulos ARTICULOS CampoTipo de DatoLongitudDescripcin Codarticulo (#)TextoCdigo del Articulo DesarticuloTextoDescripcin del Articulo CodbarraTextoCodigo de Barra CodunidadNumericoUnidad de medida StockminimoNumericoStock Minimo StockmaximoNumericoStock Mximo PuntopedidoNumericoPunto de Pedido ActivoTextoEstado del Aticulo A=Activo, B=Baja 1.Tomar como referencia el campo codigo de unidad y crear clave fornea, ya que este campo seria campo clave de la tabla UNIDADES_MEDIDAS 2.Modificar la estructura del campo Activo, para que siempre tomo como valor de referencia el valorA 3.Dar de Alta 5 articulos 4.Realizar una Vista de nombre Articulos_Activos, la cual solo debe contener los articulos que esten activos. EJERCICIO N 2: Considerando las tablas del Sistema del Plan Nacer del trabajo practico n2 y trabajando sobre un len-guaje que permita el manejo de SQL, realizar las siguientes operaciones: 1.Definir todas las tablas (Crear tablas con tipos de campos equivalentes a los que usa el motor de base de Datos PostgreSQL). 2.Crear ndices con la caracterstica unique para todas las tablas. 3.Mediante el comando insert dar de alta 8 registros de la tabla Caps. 4.Crear en todas las tablas Claves Forneas si que existen. 5.Mediante el comando Alter Table, realizar las siguiente modificaciones: 5.1. Cambiar el campo Cod_Empleado de la tabla EXPEDIENTES por Cod_Usuario este campo debera ser del mismo tipo de datos con el que se encuentra en la tabla USUARIOS 5.2. Cambiar el campo Cod_Empleado de la tabla MOVIMIENTOS por Cod_Usuario este campo debera ser del mismo tipo de datos con el que se encuentra en la tabla USUARIOS 5.3. Cambiar el nombre de la tabla MOVIMIENTOS por MOV_EXPEDIENTES5.4. Agregar CONSTRAINT (restricciones) a los campos de las siguientes tablasU.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 6 TABLACAMPOCONSTRAINT CAPSDes_CapsNOT NULL AREASDes_AreaTraNOT NULL USUARIOSDes_UsuarioNOT NULL MOV_EXPEDIENTESFecha_MovimientoNOT NULL

1.Mediante el comando update, realizar las siguientes modificaciones: 1.1. (Tabla EXPEDIENTES) Modificar el Extracto del expediente numero 275 correspondiente al ao 2008 por el siguiente valor Facturacion Pendientes Correspondiente Al Mes De Enero 2008 1.2. (Tabla MOV_EXPEDIENTES) Modificar todos aquellos registros donde la fecha de movimiento corresponda al mes de julio del 2008, cambiando que los mismos fueron realizados por el usuario cuyo codigo es 80 1.3. (Tabla EXPEDIENTES) Modificar el Monto de las Facturas de todos los expedientes ingresados en diciembre del 2008, ya que el mismo debe ser el doble del que figuraba 2.Mediante el comando DELETE, dar de baja los siguientes registros 2.1. Borrar el registro de la tabla CAPS donde la descripcin del Caps tenga el siguiente valor Posta Ipizca - (ancasti) 2.2. Borrar todos los registro de la tabla MOV_EXPEDIENTES, donde el ao del expediente sea igual a 2007, la fecha de movimiento sea 10/10/2007y el mismo se haya realizado a las 10:25 hs 3.Crear una Vista Movimientos_Caps, esta vista deber contener todos los movimientos correspondientes alos meses de marzo-abrildel 2008, donde el monto de las facturas no superen los $ 15.000, a dems deber tener la descripcin de cada uno de los Caps 4.Realizar las siguientes consultas mediante instrucciones de SQL 4.1. Listar el nombre los Caps que no estn relacionado con ningn movimiento 4.2. Listar datos de los expedientes de todos aquellos movimientos que se hayan realizado en el mes de Marzo y Octubre del 2007 4.3. Listar el nombre de los responsables de areas de todos los movimientos realizados en primer bi-mestre del ao 2008-10-08 U.N.Ca. Trabajo Prctico N 3Gestin de Datos2008 MANEJO DE SQL

J efe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel [email protected] 7EJERCICIO N 3: Considerando las tablas del Sistema de Biblioteca del trabajo practico n2 y trabajando sobre un lenguaje que permita el manejo de SQL, realizar las siguientes operaciones: 1.Definir todas las tablas. 2.Crear ndices con la caracterstica unique para todas las tablas. 3.Mediante el comando insert dar de alta 6 registros de la tabla libros. 4.Mediante el comando update, realizar las siguientes modificaciones: 4.1. (tablalibros) Modificar la cantidad de pginas y la fecha de edicin del libro cdigo 13. Cantidad de pginas: 373, fecha de edicin: 17/06/1993. 4.2. (tablalibros) Modificar la editorial dellibro Fundamentos de Bases de Datos. Editorial: HER-CA. 4.3. (tabla socios) El socio J os Luis Prez cambio su direccin, la direccin actual es: 25 de Mayo 257. 4.4. (tabla socios) Tambin cambio la direccin, Patricia Domnguez, actualmente vive en: Av. Sar-miento 271, localidad: S.M. de Tucumn, cdigo postal: 4000, Tucumn. 4.5. (tala ejemplares) Para aquellos ejemplares que pueden ser dados en prstamo, aumentar dos das a la cantidad de das de prstamo. 5.Mediante el comando delete, dar de baja los siguientes registros: 5.1. (tabla editorial) Dar de baja la editorial Oxford. 5.2. (tabla socios) Dar de baja al socio con cdigo 10). 6.Crear una vista llamada Vprestamos_2002, con los siguientes datos: Cdigo de socio, nombre y apellido, nom-bre de libro solicitado, genero, fecha de prstamo, fecha de devolucin ordenado por nombre y apellido de socio y nombre del libro. 7.Realizar las siguientes consultas mediante instrucciones de SQL: 7.1. Por libro listar la cantidades de ejemplares que posee la biblioteca. Ordenar el listado por cantidad de ejemplares de mayor a menor. 7.2. Listar los datoscompletos de los autoresque hayan escrito libros del gnero novelas, historia y salud de los cuales la biblioteca posee ejemplares. Ordenar el listado por apellido y nombre. 7.3. Listar los datos de las editoriales argentinas, no considerar las editoriales que se encuentran en Bue-nos Aires. 7.4. Por editorial, listar la cantidad de libros que posee la biblioteca. Considerar solamente las editoriales argentinas. 7.5. Listar los datos de los libros que no hayan sido pedidos en prstamo enel ao 2002. Considerar los libros cuyo cdigo es mayor a 100 y que estn disponibles para ser prestados. Ordenar el listado por cdigo de libro. 7.6. Listar los socios que el primer trimestre del 2002 solicitaron libros de derecho y que tambin hayan solicitado libros de derecho en el primer trimestre del 2003. 7.7. Listar los datos de los socios que en el ao 2002 y 2003, no hayan solicita un libro. 7.8. Listar los datos de los socios que hayan pedido libros en prstamo solo una vez. Ordenar el listado por nombre y apellido del socio. 7.9. Para los prstamos del ao 2003, indicar el nombre del libro prestado, el nombre y apellido del socio y la cantidad de das que el libro estuvo en prstamo. 7.10. Listar los datos de los autores que poseen ms de 3 libros (distintos) en la biblioteca.