You are on page 1of 8

U.N.Ca.

Gestin de Datos 2008

Trabajo Prctico N 4
SQL

UNIVERSIDAD NACIONAL DE CATAMARCA


FACULTAD DE TECNOLOGA Y CS. APLICADAS

Ingeniera en Informtica

GESTION DE DATOS
TRABAJO PRACTICO N 4

TEMA: Manejo

de SQL

OBJETIVOS:
9 Emplear comandos de SQL para definir y manipular datos.
9 Realizar consultas mediante comandos de SQL.
9 Trabajar en forma grupal, incentivando el intercambio de ideas, la puesta en comn y la
elaboracin grupal.
Conceptos a tener en claro: comandos de manipulacin de datos, comandos de 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.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

PRIMERA PARTE
EJERCICIOS RESUELTOS
EJERCICIO N1:
Dadas las tablas del Problema Resuelto n1 del Trabajo Prctico n1 (Problemas de Lemas y Sublemas) con los valores establecidos en el Trabajo Prctico n2, resolver las consultas n3, 4 y 5 en SQL.
LEMA
numero_lema #

denominacion

SUBLEMAS
numero_sublema #

denominacion

CANDIDATO
dni #
apellido_nombres
MESAS_VOTACION
numero_mesa #
tipo

nombre_apoder

direccion

ubicacion

CAND_SUBLEMAS
dni #
numero_sublema #

nombre_apoderado

localidad

direccion

categora

VOTOS_SUBLEMAS
numero_mesa #
numero_sublema #

direccion_sede

direccion_sede

fecha_nacimiento

nro_
empradonados

caracter

fecha_personer

nro_
votos_
votantes blancos

votos_
nulos

votos_
recurridos

orden

votos_legislador

votos_concejal

LEMA_SUBLEMAS
numero_lema #
numero_sublema #

Consulta n 1: Listar nmero de mesa, 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 descendente.
SELECT Numero_Mesa Nmero de Mesa, Tipo Tipo, Ubicacin Nombre Escuela o Reparticin, Direcin Direccin
FROM Mesas_Votacin
WHERE Votos_Blanco = 0 AND Nulos = 0 AND Votos_Recurridos = 0
ORDER BY Numero_Mesa DESC

Tabla resultante:
Nmero deMesa

Tipo

Nombre Escuela o Reparticion

Direccion

Fem

Escuela 9 de Julio

Catamarca 112

Masc

Univ. Tecnologica

Rivadavia 1050

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

Consulta n 2: Listar el nmero de lema de lema, denominacin del Lema, direccin de la sede, fecha de otorgamiento de la personera poltica, nombre del apoderado, y cantidad de sublemas presentados, de aquellos que posean ms de tres sublemas presentados para la categora concejal.

SELECT LEMA.numero_lema Nmero de Lema, LEMA.denominacin, Denominacin, LEMA.direccin Direccin, LEMA.fecha_personer Fecha Pers. Pol., LEMA.nombre_apoder Apoderado, COUNT (*) Cantidad de Sublemas
FROM LEMAS , SUBLEMAS, CAND_SUBLEMA
WHERE LEMA.numero_lema = SUBLEMA.numero_lema
AND SUBLEMA.numero_sublema = CAN_SUBLEMA.numero_sublema
AND CAND_SUBLEMA.categora = consejal
GROUP BY L.Nmero_Lema
HAVING COUNT (*) > 3;

Tabla resultante:
Nmero de
Lema

Denominacin

Direccin

Fecha
Pers. Pol

Apoderado

Cantidad de
Sublemas

21

Frente Fundacional de Tucumn

Rivadavia 150

10/02/1971

Antonio Guerrero

35

Fuerza Republicana

Laprida 843

11/09/1991

Pablo Calvetti

Consulta n 3: Listar la cantidad de votos totales para el Departamento Capital obtenidos por cada sublema del
lema Fuerza Republicana, discriminando las categoras de concejales y legisladores, indicando nmero de sublema
y denominacin del mismo.SELECT VOTOS_SUBLEMA.numero_sublema Nmero de Sublema, SUBLEMAS.denominacin,
Denominacin, SUM(VOTOS_SUBLEMA.votos_legislador) Votos Legislador, SUM
(VOTOS_SUBLEMAS.votos_concejal) Votos Concejal
FROM SUBLEMAS, VOTOS_SUBLEMA, LEMAS
WHERE VOTOS_SUBLEMA.numero_sublema = SUBLEMAS.numero_sublema
AND LEMAS.numero_lema = SUBLEMAS.numero_lema
AND LEMAS.denominacin = Fuerza Republicana
GROUP BY VOTOS_SUBLEMA.numero_sublema;
Tabla Resultante:
Nmero de Lema

Denominacin

Votos Legislador

Votos Concejal

2001
2002
2003
2004

Todos con el General


Fuerza Tucumn
Honestidad y Coraje
Tucumn Primero

96
90
112
122

93
92
107
125

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

EJERCICIO 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_apellido
PASANTE
dni #
universidad

Titulo

carrera

domicilio

telefono

fecha_inicio_pasantia

area

fecha_ingreso_computos

fecha_fin_pasantia

EMPLEADO_REP
dni #
titulo
PEDIDOS
numero_pedido #

tarea_solicitada

fecha_pedido

ANALISIS
numero_pedido #

dni #

fecha_inicio_analisis

APLICACIONES
numero_pedido #

dni #

fecha_inicio_
aplicacion

area

fecha_fin_analisis

fecha_fin_
aplicacion

lenguaje_
programacion

nom_apellido_responsable

fecha_pase_
programacion

descripcion

descripcion_aplicacion

Consulta n 1: Listar el nombre y apellido de los empleados que realizaron el anlisis documentacin del
Sistema de Intimaciones. Grandes Contrib. DGR - Tucumn y que tambin hayan realizado el anlisis documentacin del Sistema Gral. de Mesa de Entradas.
SELECT EMPLEADO.nombre_apellido Nombre y Apellido
FROM EMPLEADO, ANALISIS, PEDIDOS
WHERE EMPLEADO.dni = ANALISIS.dni
AND PEDIDOS.numero_pedido = ANALISIS.numero_pedido
AND ANALISIS.descripcin = anlisis documentacin
AND PEDIDOS.tarea_solicitada = Sistema de Intimaciones. Grandes Contrib. DGR - Tucumn
AND EMPLEADO.dni INSELECT EMPLEADO.dni
FROM EMPLEADO, ANALISIS, PEDIDOS
WHERE EMPLEADO.dni = ANALISIS.dni
AND PEDIDOS.numero_pedido = ANALISIS.numero_pedido
AND ANALISIS.descripcin = anlisis documentacin
AND PEDIDOS.tarea_solicitada = Sistema Gral. de Mesa de Entradas)
ORDER BY 1;
Tabla Resultante:
Nombre y Apellido
Silvia Cirelli

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

Consulta n 2: Listar las aplicaciones que empezaron a realizarse en Abril del 2004 y no estn finalizadas. Indicar
a que programador se le asigno. No considerar los pedidos del rea: Gerencial.

SELECT PEDIDOS.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.dni
AND PEDIDOS.numero_pedido = APLICACIONES.numero_pedido
AND APLICACIONES.fecha_inicio_aplicacin BETWEEN 01/04/2004 AND 30/04/2004
AND APLICACIONES.fecha_fin_aplicacin IS NULL
AND PEDIDOS.area ! = Gerencial
ORDER BY PEDIDOS.tarea_solicitada

Tabla Resultante:
Aplicaciones
Sistema Gral. de Mesa de Entradas
Sistema Gral. de Mesa de Entradas

Fecha de inicio de la aplicacin


15/04/2004
15/04/2004

Nombre y Apellido el Programador


Eduardo Gonzalez
Sergio 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.
SELECT PEDIDOS.tarea_solicitada Aplicaciones, PEDIDOS.area Area", 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.dni
AND PEDIDOS.numero_pedido = APLICACIONES.numero_pedido
AND APLICACIONES.fecha_inicio_aplicacin >= 01/01/2005
AND EMPLEADO.nombre_apellido in (Sergio Snchez, Martn Lpez Pondal)
AND PEDIDOS.area in ( PyMC y DGR)
AND PEDIDOS.nom_apellido_responsable = Sr. Carlos Calvo ORDER BY PEDIDOS.tarea_solicitada
Tabla Resultante:
Aplicaciones

Area

Fecha de inicio de la aplicacin

Nombre y Apellido del Programador

Asignacin de Juicios

PyMC

25/01/2005

Sergio Snchez

Asignacin de Juicios

PyMC

25/01/2005

Martn Lpez Pondal

Sistema de Sellos

PyMC

01/03/2005

Sergio Snchez

Sistema de Sellos

PyMC

01/03/2005

Martn Lpez Pondal

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

SEGUNDA PARTE
EJERCICIOS PROPUESTOS
EJERCICIO N 1:
Tomando como referencia un sistema de Stock crear la siguientes tabla de Articulos
ARTICULOS
Campo
Codarticulo (#)
Desarticulo
Codbarra
Codunidad
Stockminimo
Stockmaximo
Puntopedido
Activo

Tipo de Dato
Texto
Texto
Texto
Numerico
Numerico
Numerico
Numerico
Texto

Longitud

Descripcin
Cdigo del Articulo
Descripcin del Articulo
Codigo de Barra
Unidad de medida
Stock Minimo
Stock Mximo
Punto de Pedido
Estado 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 valor A
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 lenguaje 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_EXPEDIENTES
5. 4. Agregar CONSTRAINT (restricciones) a los campos de las siguientes tablas

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

TABLA
CAPS
AREAS
USUARIOS
MOV_EXPEDIENTES

Trabajo Prctico N 3
MANEJO DE SQL

CAMPO
Des_Caps
Des_AreaTra
Des_Usuario
Fecha_Movimiento

CONSTRAINT
NOT NULL
NOT NULL
NOT NULL
NOT 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/2007 y el mismo se haya realizado a las 10:25 hs

3. Crear una Vista Movimientos_Caps, esta vista deber contener todos los movimientos correspondientes a
los meses de marzo-abril del 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 bimestre del ao 2008-10-08

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

U.N.Ca.
Gestin de Datos 2008

Trabajo Prctico N 3
MANEJO DE SQL

EJERCICIO 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.
2.
3.
4.

Definir todas las tablas.


Crear ndices con la caracterstica unique para todas las tablas.
Mediante el comando insert dar de alta 6 registros de la tabla libros.
Mediante el comando update, realizar las siguientes modificaciones:
4. 1. (tabla libros) 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. (tabla libros) Modificar la editorial del libro Fundamentos de Bases de Datos. Editorial: HERCA.
4. 3. (tabla socios) El socio Jos 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. Sarmiento 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, nombre 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 datos completos de los autores que 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 Buenos 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 en el 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.

Jefe de Ctedra: Lic. Soledad Bustos Aguiar Ayudantes Diplomados: Lic. Daniela Lobos Anfuso, Lic. Manuel Baquinzay
gestiondedatos.unca@gmail.com

You might also like