UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA INFORMÁTICA Y DE SISTEMAS ASIGNATURA DE SISTEMAS DE BASES DE DATOS II SEGUNDO EXAMEN PARCIAL Estudiante: ___________________________________________ Código ______________ Pregunta 1) Considere un disco con bloques de B=512 bytes. Un apuntador de bloque tiene P=6 bytes de largo, un apuntador a registro tiene P R=7 bytes de largo. Un archivo tiene 30000 registros Empleado de longitud fija. Cada registro (R) tiene los siguientes campos: NOMBRE (30 bytes), NSS (9 bytes), CODIGODEPTO (9 bytes), DIRECCION (40 bytes), TELEFONO (9 bytes), FECHANAC (8 bytes), SEXO (1 byte), CODIGOPUESTO (4 bytes), SALARIO (4 bytes, número real). Se utiliza un byte adicional como marcador de eliminación. a) Calcule el tamaño de registro R en bytes. 115 bytes por registro b) Calcule el número de bloques necesarios para la relación Empleado. Numero de Registros por Bloque = 512 bytes DIV 115 bytes = 4 Numero de bloques para la relación = 30000 registros DIV 4 = 7500 Bloques c) Suponga que el archivo no está ordenado según el campo no clave CODIGODEPTO y que deseamos construir un índice secundario basado en dicho campo. Además suponga que hay 1000 valores distintos de CODIGODEPTO y que los registros de empleado están distribuidos de manera uniforme entre esos valores. Calcule el número de entradas y el número de bloques del índice secundario. Si cada cajón del nivel adicional de referencia corresponde a un bloque determine el máximo número de apuntadores en un cajón. En el gráfico se muestra la estructura del índice secundario. Número de entradas índice secundario= 1000 Tamaño de entrada de índice secundario = (CODIGODEPTO) + (Apuntador a Bloque) = 9 bytes + 6 bytes = 15 bytes Número de entradas por Bloque = 512 bytes DIV 15 bytes = 34 Número de bloques del índice secundario = 1000 DIV 34 + un bloque para el resto = 29 +1 = 30 Bloques Máximo número de apuntadores en un cajón del nivel adicional de referencia El nivel adicional de referencia almacena punteros a registros Tamaño de un apuntador a registro = 7 bytes Tamaño de un cajón (Bloque) = 512 bytes Número Máximo de apuntadores = 512 bytes DIV 7 Bytes = 73 Pregunta 2) ¿Es posible en general tener dos índices con agrupación en la misma relación para dos claves de búsqueda diferentes? Razónese la respuesta. No es posible tener dos índices con agrupamiento en la misma relación, puesto que un índice de agrupamiento es un índice primario por el cual los registros de la relación están ordenados secuencialmente y no podría existir en base a ese orden secuencial tener otro orden secuencial. Además, no existe una relación que puede disponer a la vez de dos claves primarias en simultáneo. Entonces si consideramos a la clave primaria como índice con agrupación no será posible disponer de dos claves primarias como índice de agrupamiento. Pregunta 3) Construya un árbol B+ con el siguiente conjunto de valores de la clave de búsqueda. (2,3,5,7,8,14,16,19,20,22,24,27,29,33,34,38,30) a) Supongamos que el árbol esta inicialmente vacio y que se añaden los valores en orden ascendente Constrúyanse arboles B+ para el caso en que el numero de punteros que caben en un nodo es cinco. Orden ascendente: (2,3,5,7,8,14,16,19,20,22,24,27,29,30,33,34,38) 22 2 3 7 5 16 14 8 34 29 16 7 19 20 22 24 29 27 30 34 33 38 Se debe conservar [(n-1)/2] valores clave en las hojas y [n/2] punteros hijos en los nodos internos. Cualquier otra versión que cumpla las anteriores condiciones serán consideradas como validas. b) Para el árbol anterior muéstrese el aspecto del árbol después de cada una de las siguientes operaciones: Borrar 24, Borrar 19, borrar 38. 7 2 3 5 7 8 14 16 20 16 29 22 22 27 29 30 33 34 Pregunta 4) Suponga que se está usando la asociación extensible en un archivo que contiene registros con los siguientes valores de la clave de búsqueda: (1,4,5,7,10,12,13,15,16,19,20,21,32) Muestre la estructura asociativa extensible para este archivo si la función de asociación es h(x)= x mod 8 y los cajones pueden contener hasta tres registros. 2 1 3 000 16 32 001 X 1 4 5 7 10 12 13 15 16 19 20 21 32 x mod 8 binario 1 001 4 100 5 101 7 111 2 010 4 100 5 101 7 111 0 000 3 011 4 100 5 101 0 000 2 010 10 011 19 100 101 3 110 4 111 12 20 3 5 13 21 2 7 15