EXAMEN DE SQL

Document Sample
EXAMEN DE SQL Powered By Docstoc
					                 Alumno                                                 DNI                     Firma



TIPO




A                                              EXAMEN DE SQL
          DESARROLLO DE APLICACIONES EN ENTORNO DE 4ª GENERACIÓN Y CON HERRAMIENTAS CASE
                                                26 de octubre de 2009



  1.   Marca la casilla de Verdadero o Falso según corresponda. (1 punto)

                                                                                                   V    F

                                                                                                       
       Los operadores AND y OR se pueden combinar de forma ilimitada, pero hay que tener
       cuidado al usarlos y utilizar paréntesis para agrupar aquellas expresiones que se
       deseen avaluar juntas y evitar así resultados no deseados.


                                                                                                       
       Las subconsultas sólo aparecen como parte de la condición de búsqueda de una
       cláusula WHERE, nunca en la cláusula HAVING, que es inherente a GROUP BY.

                                                                                                       
       La combinación externa (OUTER JOIN) nos permite seleccionar algunas filas de una
       tabla aunque éstas no tengan correspondencia con las filas de la otra tabla con la que
       se combina.


                                                                                                       
       Una transacción es una inserción, actualización o eliminación de datos de una tabla y
       no se aplicarán estos cambios hasta que no hagamos un COMMIT.


                                                                                                       
       La integridad referencial garantiza que los valores de un campo (o campos) de una
       tabla (clave ajena) no dependan de los valores de otro campo (o campos) de otra
       tabla (clave primaria)
               Alumno                                                  DNI                     Firma




2.   Sean las siguientes tablas:

     TRABAJADOR (ID_T:entero, Nombre:cadena(20), Tarifa:real, Oficio:cadena(15), ID_SUPV:entero)
     CP: {ID_T}    VNN:{Nombre, Tarifa, Oficio}    CAj: {ID_SUPV}->TRABAJADOR

     Cada fila representa un trabajador, identificado por su ID_T. Su nombre es Nombre; su tarifa por hora,
     en euros; su oficio y el identificador de su supervisor.

     DIFICIO (ID_E:entero, Dir:cadena(15), Tipo:cadena(10), Nivel_Calidad:entero, Categoria:entero)
     CP: {ID_E}       VNN:{Tipo, Nivel_Calidad, Categoria }

     Cada fila representa un edificio, que se identifica por su ID_E. Se guarda su dirección; el tipo de edificio;
     su nivel de calidad y su categoría.

     ASIGNACION (ID_T:entero, ID_E:entero, Fecha_Inicio:fecha, Num_dias:entero)
     CP: {ID_T, ID_E} VNN:{Fecha_Inicio }

     Una fila por cada vez que un trabajador es asignado a un edificio.

         a) Mediante el lenguaje DDL crear las tablas en la base de datos. (1 pto)

         b) Indicar el nombre del trabajador y el de su supervisor. (0,5 ptos)

         c)   Nombre de los trabajadores asignados a oficinas. (0,5 ptos)

         d) ¿Qué trabajadores reciben una tarifa por hora mayor quela de su supervisor? (0,5 ptos)

         e) ¿Cuál es el número total de días que se han dedicado a fontanería en el edificio 312? (0,5 ptos)

         f)   ¿Cuántos tipos de oficinas diferentes hay? (0,5 ptos)

         g) Para cada supervisor, ¿Cuál es la tarifa por hora más alta que se paga a un trabajador que
            informa a ese supervisor? (0,5 ptos)

         h)   ¿Qué trabajadores reciben una tarifa por hora menor que la del promedio de los
              trabajadores que tienen su mismo oficio? (0,5 ptos)

         i)   ¿Qué supervisores tienen trabajadores que tienen una tarifa por hora por encima de los 12
              euros? (0,5 ptos)

         j)   Crear una vista que muestre los nombres de los electricistas, la dirección de los edificios a los
              que están, o han estado asignados y las fechas de esas asignaciones. (0,5 ptos)

         k) Incrementar en un 5% la tarifa por hora de todos los trabajadores a los que supervisa el
            supervisor P. LLOPIS. (0,5 ptos)
Alumno   DNI   Firma
Alumno   DNI   Firma
                  Alumno                                                  DNI                    Firma




3.   A partir de las tablas del ejercicio 2: (2 ptos)

     a) Realizar un script que genere un informe SQL*Plus en el que aparezca por cada oficio la tarifa por
     hora máxima, mínima, el total, el promedio y el número de empleados.

     El título superior del listado es: ‘TARIFAS DE EMPLEADOS’ (centrado)

     El título inferior del listado es: ‘RESUMEN POR OFICIOS’ (a la izquierda)

     La cabecera del listado contendrá las siguientes columnas:

     Oficio del        Máxima             Mínima           Suma                 Tarifa           Número
     Empleado          tarifa             tarifa           tarifas              Media            Empleados
     --------------    -------------      --------------   ----------------     --------------   -----------------

     Debe guardar en un archivo toda la salida que se produzca por pantalla.

     b) Modificar el script para que pida al usuario que introduzca el valor de la tarifa por pantalla para
     generar un listado donde muestre aquellos oficios para los que la tarifa de todos los empleados
     superen dicho valor.
Alumno   DNI   Firma