BaDa_ex1997-1998Sep2

10
BASES DE DATOS CURSO 98 - SEPTIEMBRE Reserva INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 402071 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 412073 Tipo de Examen : A - Tiempo: 2 horas. Se permite el uso del libro "Problemas de Bases de Datos" de L.Grau e I. López (NO FOTOCOPIAS) Apellidos: _______________________________________________ Nombre: ______________________ DNI: ______________ INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA con su examen. Lea atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI, Código de Carrera, Código de Asignatura y Tipo de Examen. Cada una de las dos partes es eliminatoria, debiendo obtener al menos 4 puntos (sobre 10) para superarla. Cada contestación erronea en el TEST puntuará de manera negativa 0.25. Cada una de las preguntas tiene un valor de 0.5 puntos. La nota final será la media de cada una de las dos partes siempre que se obtengan como mínimo 4 puntos ,sobre 10, en cada una de ellas. Test : (10 puntos) Conteste en la hoja de lectura automática (4 puntos para superarlo) Para resolver algunos de los ejercicios se utilizarán los siguientes esquemas de bases de datos: ESQUEMA 1 Sistema RELACIONAL con 4 tablas cuyo significado es el de una base de datos de Proveedores (Tabla S), Piezas (Tabla P), Proyectos (Tabla J) y la tabla que relaciona a los proveedores que suministran ciertas cantidades de piezas a los proyectos (Tabla SPJ). S=(S#, nomprov, domicilio, ciudad) P=(P#, nompiez, color) J=(J#, nomproy, duración, ciudad) SPJ=(S#, P#, J#, cantidad) donde S#, P# y J# son los códigos de los proveedores, piezas y proyectos respectivamente. Las claves de cada tabla aparecen en negrita. ESQUEMA 2 Este esquema representa la base de datos de una empresa que contiene información de sus EMPLEADOS, los cuales mediante el conjunto SUBORDINADOS tienen asociados un número de empleados SUBORDINADOS. Esta base de datos, contiene también información sobre los distintos DEPARTAMENTOS existentes en la empresa, cada uno de los cuales tendrá asociado un grupo de empleados mediante el conjunto ESTA-EN. A su vez, mediante el conjunto CONTROL, cada departamento se encontrará trabajando en unos determinados PROYECTOS, los cuales a través de los conjuntos TRAB-PROV y TRABAJA- EN tendrán asociados un grupo de empleados. Por último, existe un tipo de registro denominado SUPERVISOR, en el cual se encuentran los DNI de los directores de la empresa

description

gt

Transcript of BaDa_ex1997-1998Sep2

Page 1: BaDa_ex1997-1998Sep2

BASES DE DATOS

CURSO 98 - SEPTIEMBRE Reserva

INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 402071INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 412073Tipo de Examen : A - Tiempo: 2 horas. Se permite el uso del libro "Problemas de Bases de Datos" de L.Grau e I. López (NO FOTOCOPIAS)

Apellidos: _______________________________________________ Nombre: ______________________ DNI: ______________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA con su examen. Lea atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI, Código de Carrera, Código de Asignatura y Tipo de Examen. Cada una de las dos partes es eliminatoria, debiendo obtener al menos 4 puntos (sobre 10) para superarla. Cada contestación erronea en el TEST puntuará de manera negativa 0.25. Cada una de las preguntas tiene un valor de 0.5 puntos. La nota final será la media de cada una de las dos partes siempre que se obtengan como mínimo 4 puntos ,sobre 10, en cada una de ellas.

Test : (10 puntos) Conteste en la hoja de lectura automática (4 puntos para superarlo)

Para resolver algunos de los ejercicios se utilizarán los siguientes esquemas de bases de datos:

ESQUEMA 1Sistema RELACIONAL con 4 tablas cuyo significado es el de una base de datos de Proveedores (Tabla S), Piezas (Tabla

P), Proyectos (Tabla J) y la tabla que relaciona a los proveedores que suministran ciertas cantidades de piezas a los proyectos (Tabla SPJ).

S=(S#, nomprov, domicilio, ciudad)

P=(P#, nompiez, color)

J=(J#, nomproy, duración, ciudad)

SPJ=(S#, P#, J#, cantidad)

donde S#, P# y J# son los códigos de los proveedores, piezas y proyectos respectivamente. Las claves de cada tabla aparecen en negrita.

ESQUEMA 2Este esquema representa la base de datos de una empresa que contiene información de sus EMPLEADOS, los cuales

mediante el conjunto SUBORDINADOS tienen asociados un número de empleados SUBORDINADOS. Esta base de datos, contiene también información sobre los distintos DEPARTAMENTOS existentes en la empresa, cada uno de los cuales tendrá asociado un grupo de empleados mediante el conjunto ESTA-EN.

A su vez, mediante el conjunto CONTROL, cada departamento se encontrará trabajando en unos determinados PROYECTOS, los cuales a través de los conjuntos TRAB-PROV y TRABAJA-EN tendrán asociados un grupo de empleados. Por último, existe un tipo de registro denominado SUPERVISOR, en el cual se encuentran los DNI de los directores de la empresa

Page 2: BaDa_ex1997-1998Sep2

ESQUEMA 3

Este esquema JERARQUICO contiene información sobre el sistema de formación interno de una compañía industrial grande.

Nota: El símbolo |x| representa el producto natural o reunión natural en Algebra Relacional

Cuestiones

1.- En el nivel conceptual de un sistema de bases de datos se encuentra:A) La descricción de la base de datos.B) Los programas de manejo de la base de datos.D) El sistema de archivos.D) Los programas de gestión de la base de datos.

2.- ¿Cual de las siguientes proposiciones en álgebra relacional contesta a la pregunta "Obtener el nombre de los proyectos a los que suministra piezas el proveedor con S#='S1' " del ESQUEMA 1?A)

B)

C) D) Ninguna de las anteriores

3.- ¿Cual es la pregunta equivalente a la siguiente proposición de álgebra relacional teniendo en cuenta el ESQUEMA 1? A) Obtener el código de las piezas suministradas por el proveedor S1.B) Obtener el código de todos los proyectos a los cuales se les suministran exactamente las mismas piezas que suministra el

proveedor S1C) Obtener los códigos de los proyectos a los que se suministran por lo menos todas las piezas suministradas por el proveedor

S1D) Obtener los códigos de piezas que suministran a los mismos proyectos que el proveedor S1

4.- ¿Cual es la pregunta equivalente a la siguiente proposición de álgebra relacional teniendo en cuenta el ESQUEMA 1? A) Obtener el código de los proyectos que utilicen como mínimo las mismas piezas suministradas por el proveedor S1.B) Obtener el código de todos los proyectos que utilicen al menos una de las piezas suministradas por S1C) Obtener los códigos de los proyectos que utilizan las mismas piezas que suministra S1D) Ninguna de las anteriores

NumOfrec Lugar Fecha

NumCurso Titulo

NumReq

NumEmp Nombre Calific NombreNumEmp

CURSO

REQ OFRECIMIENTO

PROFESOR ALUMNO

Page 3: BaDa_ex1997-1998Sep2

5.-¿Cual de las siguientes proposiciones en álgebra relacional contesta a la pregunta "Obtener todos los códigos de proveedores que suministren por lo menos una de las partes suministradas por al menos uno de los proveedores que suministran por lo menos una pieza roja " del ESQUEMA 1?A)

B)

C)

D)

6.-¿Cual de las siguientes proposiciones en Cálculo Relacional Orientado Tuplasa contesta a la pregunta "Obtener todos los códigos de proveedores que suministren por lo menos una pieza roja " del ESQUEMA 1?A)

B)

C)

D)

7.- El concepto de Integridad Referencial en un sistema relacional significa:A) Que las relaciones comparten siempre algún atributo B) Que se asegura que los valores de un atributo clave en una relación son todos distintosC) Que un valor que aparece en una relación para un conjunto de atributos, también aparece para un cierto conjunto de atributos

en otra relación.D) Que por lo menos entre dos relacioes existe un atributo en común

8.- ¿Cuál de las siguientes afirmaciones es cierta?A) Del recubrimiento canónico Fc se implican las mismas dependencias funcionales que de F B) Del recubrimiento canónico Fc se implican casi las mismas dependencias funcionales que de F C) Del recubrimiento canónico Fc se implican las dependencias funcionales contrarias que de F D) Ninguna de las anteriores.

9.- ¿Cuál de las siguientes afirmaciones es cierta?:A) La Forma Normal de Boyce-Codd es un caso particular de la Tercera Forma Normal B) En una relación que se encuantra en 3FN nunca existen dependencias de intersección (reunión) C) En una relación que se encuentra en 4FN no pueden existir dependencias multivaluadas.D) En una relación que se encuentra en 4FN pueden volver a aparecer dependencias no completas

10.- En la representación de longitud fija de un registro de longitud variable, un Bloque Ancla es:A) Aquel que sirve para enlazar dos registros.B) Aquel que contiene el primer registro de una cadena C) Aquel en el que se descargan los datos sobrantes D) En el que están implementados los índices.

11.- Un índice escaso es aquel que:A) Tiene registros índice solo para algunos registros.B) Sólo contiene valores de la clave primariaC) Contiene valores de registros no clave. D) Ninguna de las anteriores.

Page 4: BaDa_ex1997-1998Sep2

12.- ¿Cuál de las siguientes afirmaciones es verdadera?:A) Por lo general se realizan búsquedas más rápidas utilizando un índice escaso que un índice denso.B) Por lo general las búsquedas se realizan con igual rapidez utilizando índices densos que índices escasos.C) Por lo general se realizan búsquedas de manera más rápida utilizando un índice denso que un índice escaso.D) El tiempo de búsqueda no depende del tipo de índice utilizado.

13.-¿Cual de las siguientes consultas en SQL contesta a la pregunta "Obtener los códigos de las piezas rojas suministradas a algún proyecto de manera que la cantidad promedio suministrada a ese proyecto sea mayor que 500" del ESQUEMA 1?

14.-¿Cual de las siguientes consultas en SQL contesta a la pregunta "Obtener todas la parejas de codigos de proyecto tal que algún proveedor suministre a los dos proyectos indicados" del ESQUEMA 1?

15.-En un sistema DBTG ¿Cuál de las siguientes afirmaciones es falsa?

A) Un registro miembro puede participar en más de una ocurrencia de un conjunto.B) Un registro miembro puede participar en más de una ocurrencia de conjuntos diferentes.C) Un registro dueño puede aparecer en mas de una ocurrencia de conjuntos distintos.D) Un registro dueño no puede aparecer en más de una ocurrencia del mismo conjunto.

A) SELECT DISTINT P#FROM P,SPJWHERE COLOR='rojo'AND P.P#=SPJ.P#GROUP BY P#,J#HAVING AVG(cant)>500;

B) SELECT DISTINT P#FROM PWHERE COLOR='rojo'GROUP BY P#HAVING AVG(cant)>500;

C) SELECT DISTINT P#FROM P,SPJWHERE COLOR='rojo'AND cant>500;

D) SELECT DISTINT P#FROM P,SPJWHERE COLOR='rojo'AND P.P#=SPJ.P#GROUP BY P#HAVING AVG(cant)>500;

A) SELECT DISTINT J#FROM J, SPJWHERE S.J#=SPJ.J#AND EXISTS (SELECT *

FROM J JX AND JX.J#=J.J#);

B) SELECT DISTINT J.J#, JX.J#FROM J, SPJWHERE J.J#=SPJ.J#AND EXISTS (SELECT *

FROM J JX AND JX.J#=J.J#);

C) SELECT DISTINT SPJ1.J#, SPJ2.JFROM SPJ SPJ1, SPJ SPJ2WHERE SPJ1.S#=SPJ2.S#AND SPJ1.P#>SPJ2.P#;

D) SELECT DISTINT J1.J#, J2.JFROM SPJ SPJ1, SPJ SPJ2WHERE SPJ1.S#=SPJ2.S#AND SPJ1.P# IN (SELECT P#

FROM SPJ WHERE P#=SPJ1.P#);

Page 5: BaDa_ex1997-1998Sep2

16.-¿Cuál de las siguientes consultas DL/I obtiene la respuesta deseada a la pregunta:"Para cada departamento, obtener el nombre de los empleados que trabajan en el y por cada uno de estos, el nombre de los subordinados que dirige" del ESQUEMA 2?

A) $FIND ANY departamento;IF DB-STATUS = 0 DO

begin$GET departamento;writeln (departamento.nombre);$FIND NEXT empleado WITHIN dirige;WHILE DB-STATUS = DO; begin

$GET empleado;writeln (empleado.nombre);$FIND FIRST subordinado WITHIN subordinados;

WHILE DB-STATUS = 0 DO begin $GET subordinado; writeln (subordinado.nombre); $FIND NEXT subordinado WITHIN

subordinados; end;

$FIND NEXT empleado WITHIN dirige;end;$FIND DUPLICATE departamento;

end;

C) $FIND ANY departamento;WHILE DB-STATUS = 0 DO

begin$GET departamento;writeln (departamento.nombre);$FIND FIRST empleado WITHIN dirige;WHILE DB-STATUS = 0 DO; begin

$GET empleado;writeln (empleado.nombre);$FIND FIRST subordinado WITHIN subordinados;

WHILE DB-STATUS = 0 DO begin $GET subordinado; writeln (subordinado.nombre); $FIND NEXT subordinado WITHIN

subordinados; end;

$FIND NEXT empleado WITHIN dirige;end;$FIND DUPLICATE departamento;

end;

B) $FIND ANY departamento;WHILE DB-STATUS = 0 DO

begin$GET departamento;writeln (departamento.nombre);$FIND FIRST empleado WITHIN dirige;WHILE DB-STATUS = DO; begin

$GET empleado;writeln (empleado.nombre);$FIND FIRST subordinado WITHIN subordinados;

WHILE DB-STATUS = 0 DO begin $GET subordinado; writeln (subordinado.nombre); $FIND DUPLICATE subordinado; end;

$FIND NEXT empleado WITHIN dirige;end;$FIND DUPLICATE departamento;

end;

D) $FIND FIRST departamento;WHILE DB-STATUS = 0 DO

begin$GET departamento;writeln (departamento.nombre);$FIND FIRST empleado WITHIN esta-en;WHILE DB-STATUS = 0 DO; begin

$GET empleado;writeln (empleado.nombre);$FIND OWNER WITHIN subordinados;

WHILE DB-STATUS = 0 DO begin $GET subordinado; writeln (subordinado.nombre); $FIND NEXT subordinado WITHIN

subordinados; end;

$FIND NEXT empleado WITHIN esta-en;end;$FIND DUPLICATE departamento;

end;

Page 6: BaDa_ex1997-1998Sep2

17.-¿Cual es la pregunta equivalente a la siguiente consulta teniendo en cuenta el ESQUEMA 2?

A) Encontrar el nombre de los empleados que trabajan en el proyecto P1B) Encontrar a los empleados que trabajan 40 horas en el proyecto P1C) Encontrar a los proyectos en los que los empleados trabajan 40 horas.D) Encontrar el número de empleados que trabajan 40 horas dentro del proyecto P1.

18.-En al sistema JERARQUICO IMS, ¿Qué es un acceso a registro HSAM?

A) Es un método jerárquico de acceso secuencial.B) Es un método jerárquico de acceso secuencial indexadoC) Es un método jerárquico indexado de acceso directo.D) Es un método jerárquico de acceso directo.

19.-¿Cuál de las siguientes consultas IMS obtiene la respuesta deseada a la pregunta:"Imprimir el nombre de todos los cursos con número mayor que 50 y sus requerimientos (REQ) " del ESQUEMA 3?

Proyecto.nombre := ‘P1’;$FIND ANY proyecto USING nombre;IF DB-STATUS = 0 THENbegin

trabaja.horas := 40;$FIND FIRST trabaja WITHIN trab-proy USING horas;n:=0;WHILE DB-STATUS = 0 DO

begin$GET trabaja;$FIND OWNER WITHIN trabaja-en;$GET empleado;$FIND NEXT trabaja WITHIN trab-proy USING horas;n:=n+1;end

end

A) $GET FIRST curso , WHILE DB-STATUS = 0 DO

begin;writeln (curso.titulo);

$GET FIRST req WITHIN PARENT WHILE DB-STATUS=0 DO

begin writeln(ofrecimiento.fecha);

$GET NEXT req WITHIN PARENT;end:

$GET FIRST req WITHIN PARENT WHILE DB-STATUS=0 DO

begin writeln(req.numreq);

$GET NEXT req WITHIN PARENT; end: $GET NEXT curso WHERE NumCurso>50;

end;

B) $GET FIRST curso WHERE NumCurso>50 , WHILE DB-STATUS = 0 DO

begin;writeln (curso.titulo);

$GET FIRST req WHILE DB-STATUS=0 DO

begin writeln(ofrecimiento.fecha);

$GET NEXT req;end:

$GET FIRST req WHILE DB-STATUS=0 DO

begin writeln(req.numreq);

$GET NEXT req; end: $GET NEXT curso WHERE NumCurso>50;

end;

Page 7: BaDa_ex1997-1998Sep2

20.-SQL es un lenguaje:

A) Procedimental Puro.B) No procedimental PuroC) De uso embebido exclusivoD) Ninguna de las anteriores.

Problema : (10 puntos)Se desea diseñar una base de datos de un CUARTEL MILITAR con información sobrePERSONAL MILITAR= (Nombre, Apellidos, Domicilio, Grado)PERSONAL NO MILITAR= (Nombre, Apellidos, Domicilio, Cargo que ocupa)MATERIAL BELICO=(Nombre, Tipo)con las siguientes especificaciones:

1.- El grado es el grado dentro de la escala militar que ocupa cada persona del cuartel2.- Cada persona tiene a su cargo un grupo de personas del grado inmediatamente superior.3.- Es necesario conocer el material que se encuentra en los almacenes y el que se encuentra prestado y a quien.4.- El Personal no militar no depende de nadie, no tiene jerarquías y está asignado a la CAFETERIA4.- Si lo cree necesario puede añadir los campos y la información que crea necesaria para que el diseño sea mas correcto.

Con los datos anteriores se pide lo siguiente ¡JUSTIFICANDO TODOS LOS PASOS!:

A) Modelo Entidad - Relación del sistema.B) Pasar del modelo E - R a un modelo relacional indicando cuales son las claves primarias elegidas en cada tabla.C) Crear las tablas resultantes utilizando SQL y estableciendo las resticciones de integridad necesarias.D) Demostrar que el diseño se encuentra como mínimo en 5FN (De no ser así realizar las particiones necesarias hasta

conseguirlo).E) Realizar las siguientes consultas a la base de datos resultante utilizando SQL.

E.1.- Obtener el nombre y apellidos de todos los CAPITANES. E.2.- Obtener el nombre de los CABOS que dependen del SARGENTO de nombre 'PEPE'.

C) $GET FIRST curso WHERE NumCurso>50 , WHILE DB-STATUS = 0 DO

begin;writeln (curso.titulo);

$GET FIRST req WITHIN PARENT WHILE DB-STATUS=0 DO

begin writeln(ofrecimiento.fecha);

$GET NEXT req WITHIN PARENT;end:

$GET FIRST req WITHIN PARENT WHILE DB-STATUS=0 DO

begin writeln(req.numreq);

$GET NEXT req WITHIN PARENT; end: $GET NEXT curso WITHIN PARENT ;

end;

D) Ninguna de las anteriores

Page 8: BaDa_ex1997-1998Sep2