Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEPARTAMENTO DE INFORMÁTICA
b) Un archivo secuencial ordenado es lo mejor para manejar una volatilidad de inserción alta.
R.: Falso, pues las inserciones son lentas al ubicar cada nuevo dato en el lugar que le
corresponde, según su valor. Si el archivo no está ordenado, las inserciones son siempre al final.
i) Si un conjunto de registros tiene, mayoritariamente, accesos de tipo directo, el archivo que los
almacene debe ser de tipo hashing o árbol.
R.: Verdadero.
j) Si la recuperación de los datos de un archivo es por procesos batch, sólo conviene que sea
organizado como secuencial, no importando si está ordenado o no.
R.: Falso, puede ser cualquier estructura de archivo, pues el tiempo de respuesta no es crítico.
(30 puntos)
Pregunta 2: (Estructuras Básicas de Archivos)
a) Considerar un archivo secuencial desordenado, con 120.000 registros, cada uno de 200 bytes.
El tamaño del bloque es de 2 KB, el tiempo de seek de 16 mseg, la latencia rotacional media igual a
8.3 mseg y el tiempo de transferencia de un bloque de 0.8 mseg. Si de ahora en adelante, por cada 2
registros que se añaden hay uno que se borra, hasta que el total de registros activos sea 240.000:
Para alcanzar los 240.000 registros activos, a partir de los 120.000 iniciales, es preciso que
se ingresen 240.000 registros nuevos, a los que se asocian 120.000 registros eliminados, dada la
condición de que por cada 2 registros añadido hay uno que se borra. Así, al momento de la
reorganización se tendrán 360.000 entradas asignadas al archivo, 240.000 con registros activos
y 120.000 vacías debido a registros eliminados. A partir del factor de bloqueo del archivo:
360.000 registros
b = ---------------------------- = 36.000 bloques
10 registros / bloque
Para la reorganización se necesita leer una sola vez cada bloque desde el disco, eliminando sus
entradas inactivas al llenarlas con registros del siguiente bloque de datos. Luego, se tienen 36.000
bloques leidos. Al reorganizar, se tendrán 240.000 registros, los que ocuparán un total de 24.000
bloques, los que serán escritos al disco una sola vez.
(35 puntos)
b) Un archivo de productos tiene registros cuya clave primaria es el código del producto. Si este
archivo se organiza usando hashing lineal, donde cada bucket puede guardar hasta dos registros:
Mostrar cómo quedan guardados los registros, si éstos son:
R.:
Inserción de los registros con claves 29 y 30:
0
29
30
0 1 2
29 30
7 42
59
0 1 2
16 29 30
7 42
59
Inserción de los registros con claves 23:
0 1 2 3
16 29 30 7
42 59
23
18 23
18 23
18 23
18 23
Pan Integral Jugo
800 700
A partir de la respuesta anterior, ¿cuánto cuesta responder las siguientes consultas:
o select * from archivo;
R.: Dado que se requiere recorrer linealmente todo el archivo, el costo es de 8 bloques.
JLML/jlml.
040604.