7
ARCHIVOS DIRECTOS. Un archivo relativo (directo) consiste en una colección de registros de longitud fija almacenados uno al lado del otro en un dispositivo de almacenamiento de acceso directo (direct - access storage device, DASD). Cada registro en un archivo de organización relativa se puede referir por medio de un número -entero- de dirección, el cual indica su distancia o desplazamiento desde el origen del archivo. Al primer registro en un archivo relativo se le asigna el valor 1, 2 al siguiente y así sucesivamente. De este modo, la dirección relativa de un valor entero que refleja su posición respecto al primer registro del archivo. El acceso aleatorio de un registro en un archivo de organización relativa se hace vía su número relativo de registro. ESTRUCTURA. La manera en que la información se almacena difiere mucho en los diferentes sistemas. Parte de la información puede almacenarse en un registro de cabecera asociado al archivo, esto reduce el espacio necesario para el directorio, haciendo más fácil mantener todo el directorio. La forma mas fácil de estructuración de un directorio es una lista de entradas, unas para cada archivo. Esta estructura puede representarse con un simple archivo secuencial, con el nombre del archivo haciendo las veces de clave. · Características o El orden de complejidad será O(1) o Se basa en las funciones de seek o Para obtener un buen rendimiento se deben hacer los registros de una longitud cuyo múltiplo sea del tamaño de un sector del disco. Si el sector es de 512 bytes y nuestro registro mide 30, lo más

Archivos Directos

Embed Size (px)

DESCRIPTION

archivos directos c++

Citation preview

Page 1: Archivos Directos

ARCHIVOS DIRECTOS.

Un archivo relativo (directo) consiste en una colección de registros de longitud fija almacenados uno al lado del otro en un dispositivo de almacenamiento de acceso directo (direct - access storage device, DASD). 

Cada registro en un archivo de organización relativa se puede referir por medio de un número -entero- de dirección, el cual indica su distancia o desplazamiento desde el origen del archivo. Al primer registro en un archivo relativo se le asigna el valor 1, 2 al siguiente y así sucesivamente. De este modo, la dirección relativa de un valor entero que refleja su posición respecto al primer registro del archivo. El acceso aleatorio de un registro en un archivo de organización relativa se hace vía su número relativo de registro.

ESTRUCTURA.

La manera en que la información se almacena difiere mucho en los diferentes sistemas. Parte de la información puede almacenarse en un registro de cabecera asociado al archivo, esto reduce el espacio necesario para el directorio, haciendo más fácil mantener todo el directorio.

La forma mas fácil de estructuración de un directorio es una lista de entradas, unas para cada archivo. Esta estructura puede representarse con un simple archivo secuencial, con el nombre del archivo haciendo las veces de clave.

· Características o El orden de complejidad será O(1) o Se basa en las funciones de seek o Para obtener un buen rendimiento se deben hacer los registros de una longitud cuyo múltiplo sea del tamaño de un sector del disco. Si el sector es de 512 bytes y nuestro registro mide 30, lo más adecuado es que mida 32, ya que 32x16=512 (16 registros en un viaje al disco) 

· Se utiliza cuando: o Los registros son de longitud fija o Tenemos una manera de saber en qué posición del archivo está un registro, 

Page 2: Archivos Directos

OPERACIONES.

Operaciones que se pueden realizar con un directorio:1. Buscar: Cuando alguien referencia el archivo, debe buscarse en el directorio la entrada correspondiente al archivo. 2. Crear archivo: Al crear un nuevo archivo. debe añadirse una entrada al directorio. 3. Borrar archivo: Al borrar un archivo, debe eliminarse una entrada al directorio. 4. Listar directorio: Puede solicitarse todo el directorio o una parte.Una simple lista no se ajusta bien a estas operaciones. Si el directorio es una simple lista secuencias, no ofrecerá ayuda en la organización de los archivos y obligara al usuario a tener cuidado de no usar el mismo nombre para dos tipos diferentes de archivos. Para resolver este problema se puede acudir a un esquema de dos niveles donde hay un directorio para cada usuario y un directorio maestro.Inserción, Supresión y Manejo de Colisiones Para insertar elementos en archivos relativos se utilizan técnicas como son las técnicas de cálculo de direcciones, en estas técnicas tienen lugar las llamadas "colisiones" que no son más que la repetición de una localidad al momento de almacenar un dato. Las colisiones no pueden ser eliminadas, lo más que se puede hacer es tratar de minimizarlas. Si las claves primarias de los registros son números consecutivos, se puede hacer un simple enlace directo entre claves y direcciones. Sencillamente se asocia una llave primaria más pequeña con la dirección relativa 1, la siguiente clave primaria más pequeña con la dirección relativa 2, y así sucesivamente. 

Existen diferentes métodos: 

Hashing por residuo. Consiste en dividir la llave por un número determinado para obtener la dirección. Para determinar el número divisor se escoge él número máximo de registro que almacenara el archivo, de esta forma el residuo siempre estará en el rango de registros que puede aceptar el archivo. Doble hash Consiste en repetir la operación HASH para obtener un nuevo resultado. El doble hashing hace una dispersión de sinónimos a diferencia del sondeo lineal que por su naturaleza tiende a agrupar los sinónimos. El doble hash tiene un mejor desempeño para factores de carga menores a 0.5 y actúa mejor que el sondeo lineal con factores de carga mayores para búsquedas exitosas pero no así en búsquedas no exitosas. 

Encadenamiento de sinónimos. El encadenamiento de sinónimos es un método que se enfoca a lograr un acceso más rápido a los registros y que se implementa junto con los métodos de solución de colisiones descritos anteriormente, se podría decir que es un complemento a estos métodos. La idea del encadenamiento de sinónimos consiste en tener una lista enlazada de todos los sinónimos que se presenten comenzando con la dirección de origen. 

Page 3: Archivos Directos

Direccionamiento por cubetas. El método de direccionamiento por cubetas consiste en asignar un numero especifico de espacios para contener los sinónimos que se presenten, si el espacio asignado a para contener los sinónimos fuera totalmente ocupado entonces se buscaría el cubo más cercano a este, a esto se le llama cubo de control de desbordamiento. Sin duda este método logra minimizar los desbordamientos por medio de la reservación de espacios, sin embargo como es obvio resulta muy costoso en cuanto a utilización de memoria, memoria que sería desperdiciada si no existiera ninguna colisión. 

MULTINIVELES DE INDICES

ACCESO DIRECTO POR INDEXAMIENTO 

La utilización de un índice denso (con una entrada para cada registro en el archivo principal) permitirá un acceso directo en el archivo principal después de un proceso de búsqueda en el índice. 

En virtud de la escasa longitud del registro de índice, los accesos a disco permitirán la manipulación de múltiples registros de este tipo, acelerando así la localización de una llave. En la búsqueda de mejorar la eficiencia del modelo, se pueden implementar las siguientes variantes: 

* Índice clasificado para búsqueda binaria. * Índice de búsqueda binaria arbolado. 

MULTINIVELES DE INDICES

La estructura de árbol balanceado de nivel 2 en el cual el número de entradas en cada bloque se mantiene constante. En este caso el número de entradas por bloque de índices es tres, y la estructura de índice se llama un árbol balanceado de orden tres. 

La estructura de árbol-B fue diseñada como una mejora al árbol balanceado. No es necesario que cada bloque en un árbol-B contenga el mismo número de entradas por bloque en un árbol-B de orden N debe de estar dentro del siguiente rango: 

Cota inferior de ((N –1 ) / 2) <= entradas por bloque >= N – 1 

Page 4: Archivos Directos

El orden N de un árbol-B es igual al máximo número de claves por bloque más uno. Los árboles-B tienen la propiedad especial de que el número de apuntadores en un bloque de índices es igual al número de claves en el bloque más uno. 

Una de las ventajas del árbol-B sobre el árbol balanceado es que el árbol-B es lo suficientemente flexible como para acomodar inserciones de claves nuevas. 

Supóngase que se va a agregar la clave 105 al tercer bloque en el nivel inferior del árbol-B de la figura anterior. Ya que el bloque se encuentra totalmente cómo ocupado, éste se separa en dos bloques. 

ORGANIZACIÓN DE ARCHIVOS SECUENCIALES INDEXADOS. 

Una manera efectiva de organizar una colección de registros, cuando existe la necesidad de accesar los registros secuencialmente, por algún valor de llave, como de accesarlos individualmente, con esa misma llave, es la organización de archivos secuenciales indexados. Un archivo secuencial indexado proporciona la combinación de tipos de acceso que manejan un archivo secuencial y un archivo relativo. 

Esta organización está diseñada para utilizar la combinación de la organización relativa y la secuencial, obteniendo la ventaja de poder acceder a los registros en forma secuencial y relativamente de manera directa. 

Como se pude apreciar la organización de archivos secuenciales indexados es efectiva para satisfacer la necesidad tanto de acceder a los archivos en forma secuencial como de forma directa mediante algún valor de llave. 

Para poder estructurar esta organización podemos utilizar uno de los métodos más comunes que es el de construir el índice como un árbol de valores llave como se vio anteriormente. Otro método común es de construir el índice basándose en la disposición física de los datos almacenados. 

Esto nos da como consecuencia que nuestras aplicaciones crezcan, pudiendo ofrecer esta organización aplicaciones tanto en procesamiento por lotes como interactivo. 

Para poder instrumentar esta organización existen algunas técnicas como lo son: 

Estructuras de árbol B +. 

Es una de las técnicas más populares para instrumentar esta organización. El árbol B+

Page 5: Archivos Directos

consta de dos partes: la parte índice que consta de los nodos interiores y el conjunto secuencia que consta de las hojas del árbol. 

EQUIPO:

Sierra Márquez Oscar David

Martínez Albarrán Raymundo

Ramírez Hernández José Antonio