P. 1
ESTRUCTURA DE ARCHIVO

ESTRUCTURA DE ARCHIVO

|Views: 17.602|Likes:
Publicado porCOKE20082008

More info:

Published by: COKE20082008 on Jun 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/15/2013

pdf

text

original

Esta Organización de archivos mantiene las características de la
Organización secuencial con respecto al procesamiento secuencial de
registros pero tiene mejoras significativas con respecto al procesamiento
al azar y a la actualización. Estas ventajas se obtienen pagando con
mayor espacio de almacenamiento y cierta mayor dificultad relativa.

Consideremos la estructura de archivo que debe residir en un dispositivo
de almacenamiento (acceso) directo y está compuesto de las siguientes
áreas de almacenamiento:
Área Principal. Donde se almacenan los registros de datos.
Área de Rebalse u Overflow. Se almacenan nuevos registros agregados.
Área de Índices. Es la memoria usada por el mecanismo de búsqueda.

Los registros almacenados en el área principal están ordenados por
identificador (en ascendencia) y pueden ser accedidos de la misma
manera que los registros en una organización secuencial.

Para el acceso al azar se usa el mecanismo de búsqueda de índices. Un
índice es una lista de pares , en este caso se
aplica como sigue.
Identificador. Es el valor del identificador para el último registro de un
grupo de ellos.
Puntero. Es el nexo al 1° de los registro de este grupo. Por ejemplo.

La búsqueda con un índice es más rápida que la búsqueda de registros
de manera secuencial, por ejemplo, la búsqueda de un registro con
identificador 063, significa hacer 3 comparaciones de una búsqueda
lineal sobre el índice (comparación de 063 con el 023, 031 y 069). Si se
busca un registro que no está almacenado, se detecta a través de la

ordenación de los registros (al ir comparando valores del Id, pasa de un
Id menor al buscado a uno mayor)

Ejercicio. Describir proceso para buscar “035”.

Comparo los índices del archivo de punteros con el valor “035”, es
decir, con “023”, “031” y “063”; como “063” es mayor que “035” paso
a comparar con el primer índice del archivo de registros perteneciente al
grupo de “063”, el cual es accedido por el puntero de “ 063 ” en el
archivo de puteros y que apunta a la pista 6; en la pista 6 se encuentra
el Id 032, y como es menor que “035”, paso a la siguiente pista 7 y
comparo “035” con Id 063, y como “035” < “063” entonces el
registro con el Id 035 no existe.

En conclusión, si el Id X buscado es mayor que todos los Puntero> del archivo de Punteros, entonces no existe y se ahorra
el proceso de búsqueda en al archivo de . Si es
menor o igual que uno de los , entonces se usa el
proceso de búsqueda para en el archivo de
registros comparando el Id correspondiente a la pista indicada
por el Puntero con el Id X; si ¿Id X = Id? ¡¡¡registro
encontrado!!! fin de la búsqueda; sino, si ¿Id X > Id?
¡¡¡registro No EXISTE!!! fin de la búsqueda; sino, quiere decir
que Id X < Id, por tanto, se compara el siguiente Id de la pista
siguiente de la misma forma.

La idea básica de un índice puede extenderse para tener varios niveles
de índice en archivos jerarquizados, e decir, los punteros de un índice
apuntan al comienzo de otro archivo de índices, el que a su vez, puede
apuntar a un tercer de índices, etc., hasta que los punteros direccional
registros de datos propiamente tales. En un archivo secuencial con
índices almacenados en disco, el nivel más bajo de índice es el índice de
pista, cuyos punteros direccional cada uno de ellos, al grupo de registros
que están almacenados en una pista.

Área Principal

Este
Esquema se
asemeja a
La estructura
De un árbol.

Ahora se examinará el problema de mantención de esta organización.

LA ELIMINACIÓN DE REGISTROS. Se lleva a cabo normalmente
marcando esos registros en un bit determinado, por el cual serán
ignorados posteriormente, pero físicamente su espacio no es
reasignado. El reemplazo de campos no tiene características especiales.

LA ADICIÓN DE REGISTROS. Es más bien compleja ya que la idea no es
tener que recurrir a una reescritura completa del archivo, como es el
caso de la organización secuencial, se usa el área de rebalse para la
inserción de registros intermedios. En ésta área se construye una lista
de registros que en secuencia lógica, va ubicada entre 2 pistas del área
primaria. El comienzo de esta lista se conoce también a partir del índice
de pista:

Cada par , de este índice tiene además
asociado un par < Id, Punt al área de rebalse>, que apunta al
comienzo de la lista de registros de Overflow que están
lógicamente antes al próximo par < Id, Punt al área primaria >. La
figura siguiente ilustra la situación.

Obsérvese que en el índice quedan ordenados en secuencia tanto los
registros del área principal como los de Overflow; también, nótese que
en el valor de identificador para el par de Overflow cuando no hay R, es
el mismo que el par primario correspondiente.

Ejercicio. Si se introduce un registro con identificador 0096, qué ocurre
con el Overflow.

Se almacena directo en el Overflow en la pista 11 entre 0094 y 0105.
Observar que la pista 7 se ocupa cuando empieza el archivo de base de
datos (Cuando se actualiza el área principal en la reorganización del
archivo), donde además, se eliminan físicamente los registros marcados
como borrados y se reordenan los registros en el área principal y no hay
lista de rebalse.

El uso del área de rebalse tiene 2 implicancias importantes:
•El acceso secuencial al archivo requiere ahora de todas maneras del
índice, a fin de conocer la dirección de comienzo de la lista de
Overflow. Esto es necesario porque después de acceder los registros
de una pista, se deben procesar los registros de la lista de Overflow
correspondiente. La conclusión es que el procesamiento secuencial en
un archivo secuencial con índices, es más lento que el procesamiento
secuencial correspondiente. En la práctica, la diferencia en tiempo de
ejecución no es grande.
•Después de un periodo de muchas actualizaciones, el proceso es más
bien lento y es conveniente crear una copia nueva del archivo en la
que no haya listas de rebalse ni registros marcados como eliminados.
Este proceso se llama reorganización del archivo.

El almacenamiento de registros, el manejo de reblase, la reorganización,
el acceso secuencial y el acceso al azar (con su respectivo manejo de
índices), son algunas de las labores que realizan los software de apoyo a
la organización secuencial con índices. Estos programas son más
complejos que los de la organización secuencial. Desde el punto de vista
del programador, las instrucciones son simples.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->