SISTEMAS DE GESTIÓN DE BASES DE DATOS EXAMEN FINAL DE FEBRERO – 16 de Febrero de 2001 1. Realice el diagrama E-R para el diseño de una base de datos que refleje la información que necesita un centro estatal que otorga títulos oficiales a aquellos aspirantes que superen ciertas pruebas. El sistema debe contemplar los siguientes datos y restricciones: • De cada aspirante se quiere registrar su nombre, su edad, su DNI (obligatorio) y un identificador que se le asigna dentro del sistema informático para distinguirle del resto. Para obtener un título es necesario superar cierto número de pruebas que los que los examinadores eligen aleatoriamente dentro de un conjunto de ellas. Los títulos que se otorgan se identifican por un código de especialidad (entre 1 y 70) y por un número (entre 1 y 20) que determina el nivel dentro de dicha especialidad. Además se le asocia un sueldo base a cada titulación por el cual será remunerado. Se define una jerarquía dentro de las titulaciones de tal forma que si un aspirante obtiene un determinado título pueda solicitar los títulos de grado inferior que desee. El sistema debe almacenar por tanto la información de dicha jerarquía. Existen dos convocatorias al año para examinarse. Un aspirante puede examinarse en varias convocatorias para obtener uno o más títulos. Se desea mantener información de todas las veces que cada aspirante se examina de cada título y si lo obtiene o no. Cada vez que un aspirante se examina para optar a un determinado título, realiza una serie de pruebas que puede variar de una convocatoria a otra. Para cada una se guarda la nota obtenida. Unas pruebas son teóricas y otras prácticas. Todas tienen un identificador, una descripción de la prueba y un campo booleano que nos dirá si se realizan individualmente o en grupo. Para las pruebas teóricas se almacena el número de preguntas, si son de tipo test y la duración de la prueba. Para las prácticas se almacena el coste de la prueba, el laboratorio donde se realiza y la duración de la misma. Se quiere llevar un inventario de materiales. Estos se diferencian entre los inventariables que se utilizan para las pruebas prácticas, y los materiales fungibles. Para todos ellos se almacena un identificador y una descripción. Se quiere reflejar las pruebas prácticas en las que se utiliza cada uno de los materiales inventariables y el tiempo de uso de cada uno de estos en cada una de las pruebas. Para los materiales fungibles se almacena el número posible de usos, su precio y sus existencias. Para los inventariables se almacena la fecha de compra, el estado del material y su precio. • • • • • • • Una vez realizado el diagrama pasarlo a tablas del modelo relacional. - Especificando, los atributos que funcionan como P.K., F.K. (diciendo a que tabla corresponden) y los valores únicos si existen. - Crear dominios SQL para el tipo booleano (V,v,F,f) y para los códigos de los título, comprobando que estén entre 1 y 70 ambos inclusive. - Para las tablas asociadas a aspirantes, títulos y pruebas de todo tipo, (es decir, las que no guardan información de materiales) dar las instrucciones SQL necesarias para su creación. NOTA: - Reflejar las cardinalidades mínima y máxima para las relaciones BINARIAS NOTA: Realizar las preguntas en hojas separadas SISTEMAS DE GESTIÓN DE BASES DE DATOS EXAMEN FINAL DE FEBRERO – 16 de Febrero de 2001 2. Se pretende crear una base de datos para mantener información sobre una empresa que oferta clases de esgrima para profesionales de dicho deporte. Los datos que se quieren guardar son: el nombre del ATLeta, el nombre del PREprador, la ESPecialidad (florete, sable, espada, etc.), el número de CLAses contratadas por cada especialidad, la CATegoría (alevín, junior, senior, etc.) a la que pertenece el atleta que recibe las clases y el tipo de DESCuento que se aplica a dicha categoría. Las restricciones son las siguientes: 1. 2. No existen dos atletas con el mismo nombre. Un atleta puede recibir clases de distintas especialidades, y para cada especialidad se guardará el total de clases que contrató. Un atleta tiene un único preparador dentro de cada especialidad. Un atleta sólo pertenece a una categoría aunque de la misma categoría pueden recibir clases distintos atletas. Cada categoría tiene su tipo de descuento Un preparador, aunque tenga varios atletas, sólo imparte clases de una especialidad. 3. 4. 5. 6. Se plantea guardar los datos en una tabla que contenga los siguientes campos (ATLeta, PREparador, ESPecialidad, HORAS, nombre del CATetoría, DEScuento). a) b) c) d) e) ¿Qué problemas plantea este esquema en concreto? Determinar el conjunto de dependencias funcionales no triviales ¿Qué conjuntos de atributos son claves candidatas? (No es obligatorio aplicar el algoritmo) ¿ Qué forma normal alcanza el esquema? (Justificar) Realizar una descomposición en FNBC aplicando la dependencia ATL CAT en la primero descomposición f) ¿La descomposición resultante cumple la propiedad LJ? g) Comprobar mediante el algoritmo (y si no se sabe de cualquier otra forma) si el sistema permite que dentro de una misma categoría se apliquen distintos descuentos (Justificar) Z= Z U ((Z ∩ Ti)+ ∩ Ti)) h) Analizar el resultado de la descomposición. (Este apartado se valorará muchísimo) 3. Ventajas e inconvenientes de los índices frente a las funciones hash NOTA: Realizar las preguntas en hojas separadas SISTEMAS DE GESTIÓN DE BASES DE DATOS EXAMEN FINAL DE FEBRERO – 16 de Febrero de 2001 nombre edad Espec Conv ID_CON nivel DNI 1:N sueldo ASPIRANTE Titulo N:M Nota N:M ID_MAT Descrip ID_PRU Duración MATERIAL PRUEBA Indiv. Coste Descrip usos FUNGIBLE TEÓRICA N:M PRÁCTICA estado Exist. Num Test INVENTARIABLE Lab Coste N:M NOTA: Realizar las preguntas en hojas separadas Fecha SISTEMAS DE GESTIÓN DE BASES DE DATOS EXAMEN FINAL DE FEBRERO – 16 de Febrero de 2001 4. Se pretende crear una base de datos para mantener información sobre una empresa que oferta clases de esgrima para profesionales de dicho deporte. Los datos que se quieren guardar son: el nombre del atleta, el nombre del preprador, la especialidad (florete, sable, espada, etc.), el número de clases contratadas por cada especialidad, la categoría (alevín, junior, senior, etc.) a la que pertenece el atleta que recibe las clases y el tipo de descuento que se aplica a dicha categoría. Las restricciones son las siguientes: 1. 2. No existen dos atletas con el mismo nombre. Un atleta puede recibir clases de distintas especialidades, y para cada especialidad se guardará el total de clases que contrató. ATL ESP HORAS Un atleta tiene un único preparador dentro de cada especialidad. ATL ESP PRE Un atleta sólo pertenece a una categoría aunque de la misma categoría pueden recibir clases distintos atletas. ATL CAT Cada categoría tiene su tipo de descuento CAT DESC Un preparador, aunque tenga varios atletas, sólo imparte clases de una especialidad. PRE ESP 3. 4. 5. 6. Se plantea guardar los datos en una tabla que contenga los siguientes campos (ATLeta, PREparador, ESPecialidad, HORAS, nombre del CATetoría, DEScuento). a) ¿Qué problemas plantea este esquema en concreto? b) Determinar el conjunto de dependencias funcionales no triviales ATL ESP HORAS ATL ESP PRE ATL CAT CAT DESC PRE ESP c) ¿Qué conjuntos de atributos son claves candidatas? (No es obligatorio aplicar el algoritmo) (ATL ESP)+ = ATL ESP HORAS PRE CAT DESC (ATL PRE)+ = ATL PRE ESP HORAS CAT DESC d) ¿ Qué forma normal alcanza el esquema? (Justificar) ATL CAT No está en 2FN luego sólo alcanza la 1FN e) Realizar una descomposición en FNBC aplicando la dependencia ATL CAT en la primero descomposición Utilizo ATL CAT R1: R11: T1=(ATL CAT) T21=(ATL,ESP,PRO,HORAS,DESC) L1=( L11=( ATL CAT) ATL ESP HORAS, ATL ESP PRO ATL DESC PROESP) L2=( L21=( ATL DESC) ATL ESP HORAS, ATL ESP PRO PROESP) Utilizo ATL DESC R2: R21: T1=(ATL DESC) T11=(ATL,ESP,PRO,HORAS) Utilizo PRO ESP NOTA: Realizar las preguntas en hojas separadas SISTEMAS DE GESTIÓN DE BASES DE DATOS EXAMEN FINAL DE FEBRERO – 16 de Febrero de 2001 R3: R4: T3=(PRO ESP) T4=(ATL,PRO,HORAS) L3=( L4=( PRO ESP) ATL PRO HORAS) f) ¿La descomposición resultante cumple la propiedad LJ? g) Comprobar mediante el algoritmo (y si no se sabe de cualquier otra forma) si el sistema permite que a una misma categoría se le aplique distintos descuentos (Justificar) Z= Z U ((Z ∩ Ti)+ ∩ Ti)) Z0= CAT Z11= CAT U ((CAT ∩ ATL CAT)+ ∩ (ATL CAT))= CAT Z12= CAT U ((CAT ∩ ATL DESC)+ ∩ (ATL DESC))= CAT Z13= CAT U ((CAT ∩ PRO ESP)+ ∩ (PRO ESP))= CAT Z14= CAT U ((CAT ∩ ATL PRO HORAS)+ ∩ (ATL PRO HORAS))= CAT Se pierde CAT DESC h) Analizar el resultado de la descomposición. (Este apartado se valorará muchísimo) NOTA: Realizar las preguntas en hojas separadas