Sie sind auf Seite 1von 13

Organización de Ficheros

Conceptos
Archivos – Ficheros – es una colección de información (datos relacionados entre sí,
localizada o almacenada como una unidad.

Archivos – conjunto organizado de informaciones del mismo tipo.

Tipos de Archivos
→ Según su función

-Permanentes

Sus registros sufren pocas o ninguna variación a lo largo del tiempo se dividen en:

→ Constantes: formados por registros que contienen campos fijos y campos de


baja frecuencia de variación en el tiempo.
→ De Situación: en cada momento contienen información actualizada.
→ Históricos: contienen información acumulada a lo largo del tiempo de archivos
que han sufrido procesos de actualización o bien acumulan datos de variación periódica
en el tiempo.

-De Movimiento

Se utilizan conjuntamente con los maestros (constantes), y contienen algunos


campos comunes en sus registros con aquellos, para el procesamiento de las
modificacionex experimentados por los mismos.

-De Maniobra o Transitorio

Archivos auxiliares creados durante la ejecución del programa y borrados


habitualmente al terminar el mismo.

→ Según sus Elementos

-Archivo de Entrada: colección de datos localizados en un dispositivo de entrada.


-Archivo de Salida: colección de información visualizada en la salida.
-Constantes: formada por registros que contienen campos fijos y de baja
frecuencia de variación en el tiempo.
-De Situación: en cada momento contienen información actualizada.
Archivo Secuencial
Se refiere al procesamiento de los registros, no importa el orden en que se haga, para eso
los registros están organizados en forma de una lista y recuperarlos y procesarlos uno por
uno de principio a fin.

Al finalizar un archivo secuencial se denota con una marca de fin de archivo. (End end-of-
file)

El usuario de un archivo secuencial puede ver los registros en un orden secuencial


simple.

La única forma de recuperar registros es comenzar al principio y extraerlos en el orden


contemplado.

Cuestiones de programación; la manipulación de los archivos se hace en el contexto de la


programación en un lenguaje por procedimientos de alto nivel. Estos lenguajes tienden a expresar
la manipulación de archivos mediante subrutinas que se definen como parte del lenguaje formal o
se incluyen como extensiones del lenguaje en una biblioteca estándar.

La mayor parte de los lenguajes por procedimiento de alto nivel cuenta con características que
ayudan a detectar la marca de fin de archivo.

Actualización en Archivos Secuenciales

Un archivo maestro representa el punto estático de algún aspecto de alguna organización


en un tiempo dado.
Los cambios en la organización se reflejarán en el archivo maestro.

Al estar usando un archivo secuencial como archivo maestro, el realizar las operaciones
de actualizaicón se llevará con el auxilio de un archivo de transacciones, debido a que se
realizará el proceso en lote para que sea más eficiente.
El archivo de transacciones contiene básicamente el mismo tipo de registro que el archivo
maestro, la cantidad de registros en el archivo de transacciones dependerá obviamente
de los registros a actualizar, la única diferencia es un campo que se usará como código
para indicar el tipo de actualización que se realizará con el registro.

El archivo maestro y el archivo de transacciones deberán estar clasificados por el valor de


la llave de ordenamiento, considerado el registro anterior, este campo será número de
empleado, el hecho de estar ordenados los archivos obedece a que el algoritmo de
actualización realiza un recorrido secuencial en ambos y esta característica de
clasificación lo hace eficiente.

En el proceso de actualización se van a generar varios archivos; el primero de ellos nos


proporcionará los registros de transacciones inválidas, esto es debido a las siguientes
clases de errores:

1.- Insertar un registro que ya existe


2.- Borrar un registro que no existe
3.- Modificar un registro que no existe

Así mismo se puede generar un archivo de reporte donde nos proporcione la estadística
necesaria o requerida del proceso de actualización.

El archivo más importante que se genera en este proceso es el archivo maestro nuevo
que el siguiente ciclo tomará el lugar del archivo maestro viejo.

La creación de un archivo secuencial se realiza agregando registros al final del archivo, no


importa el medio de entrada de datos. El archivo secuencial puede ser almacenado en
cintas o en discos magnéticos. Un archivo secuencial puede tener registros fijos o
variables, la declaración del archivo y la definición del registro dependerá del lenguaje de
programación que se vaya a usar.

La creación del archivo desde el punto de vista de la técnica de programación viene a ser
una estructura interactiva.

Normalmente el uso de los archivos secuenciales se da en procesos en lote, donde se ha


hecho notar que son eficientes cuando se llevan a cabo diversas operaciones sobre una
gran cantidad de registros o de todo el archivo. Esta eficiencia se logra con una acción: la
clasificación, proceso que no es exclusivo de los archivos secuenciales, pero si necesaria
para diversas operaciones.

Consideraciones más comunes

1- Uso más común: procesamiento por lotes (respado de datos, generación de reportes,
transmisión física de datos,...)
2- Ventas
-Proveen la mejor utilización de espacio.
-Son rápidos cuando se acceden secuencialmente.
-Archivos de poca volatilidad.
3- Desventajas:
-El acceso a un registro es pobr
-La localización de un determinado registro no se puede hacer individualmente, ni
rápidamente, el acceso aleatorio es impráctico.

El archivo ( a causa de insercciones y supresiones) tiene que ser reescrito


periódicamente.
Archivo Secuencial Indexado

Los registros se organizan en una secuencia basada en un campo clave presentando dos
características, un índice del archivo para soportar los accesos aleatorios y un archivo de
desbordamiento. El índice proporciona una capacidad de búsqueda para llegar
rápidamente al registro deseado y el archivo de desbordamiento es similar al archivo de
registros usado en un archivo secuencial, pero está integrado de forma que los archivos
de desbordamiento se ubiquen siguiendo un puntero desde su registro predecesor.

La estructura más simple tiene como índice un archivo secuencial simple, cada registro
del archivo índice tiene dos campos, un campo clave igual al del archivo principal y un
puntero al archivo principal. Para encontrar un campo especifico se busca en el índice
hasta encontrar el valor mayor de la clave que es iguale o precede al valor deseado de la
clave, la búsqueda continua en el archivo principal a partir de la posición que indique el
puntero.

Cada registro del archivo principal tiene un campo adicional que es un puntero al archivo
de desbordamiento. Cuando se inserta un nuevo registro al archivo, también se añade al
archivo de desbordamiento. El registro del archivo principal que precede inmediatamente
al nuevo registro según la secuencia lógica se actualiza con un puntero del registro nuevo
en el archivo de desbordamiento, si el registro inmediatamente anterior está también en el
archivo de desbordamiento se actualizará el puntero en el registro.

Para procesar secuencialmente un archivo completo los registros del archivo principal se
procesarán en secuencia hasta encontrar un puntero al archivo de desbordamiento, el
acceso continúa en el archivo de desbordamiento hasta que encuentra un puntero nulo,
entonces renueva el acceso donde se abandonó en el archivo principal.

Las características más relevantes de un archivo indexado, son las siguientes:

a) El diseño del registro tiene que tener un campo, o combinación de campos, que permita
identificar cada registro de forma única, es decir, que no pueda haber dos registros que
tengan la misma información en él. A este campo se le llama campo clave y es el que va
a servir de índice. Un mismo fichero puede tener mas de un campo clave, pero al menos
uno de ellos no admitirá valores duplicados y se le llama clave primaria. A las restantes se
les llama claves alternativas.

b) Permiten utilizar el modo de acceso secuencial y el modo de acceso directo para leer la
información guardada en sus registros.

El modo de acceso directo se hace conociendo el contenido del campo clave del registro
que queremos localizar. Con esa información el sistema operativo puede consultar el
índice y conocer la posición del registro dentro del fichero.

En el modo de acceso secuencial los registros son leídos ordenados por el contenido del
campo clave, independientemente del orden en que se fueron grabando (El orden lógico
no es igual al orden físico), debido a que el acceso a los datos se hace a través del índice,
que para hacer más fácil la búsqueda de los registros permanece siempre ordenado por el
campo clave.

c) Solamente se puede grabar en un soporte direccionable. Ej.: disco magnético. Si esto


no fuera así no podría emplear el acceso directo.

VENTAJAS

1. Permite el acceso secuencial.

2. Permite el acceso directo a los registros.

3. Se pueden actualizar los registros en el mismo fichero, sin necesidad de crear un


fichero nuevo de copia en el proceso de actualización.

DEVENTAJAS

1. Ocupa más espacio en el disco que los ficheros secuénciales, debido al uso del área de
índices.

2. Tiene tendencia a que aumente el tiempo medio de acceso a los registros, cuando se
producen muchas altas nuevas con claves que hay que intercalar entre las existentes, ya
que aumenta el área de overflow.

3. Solo se puede utilizar soportes direccionables.

4. Obliga a una inversión económica mayor, por la necesidad de programas y, a veces,


hardware más sofisticado.

ESTRUCTURA DE LA ORGANIZACIÓN SECUENCIAL INDEXADO.

Este tipo de organización se utiliza cuando existe la necesidad tanto de acceder a los
registros secuencialmente, por algún valor de llave, como de acceder los individualmente.
Un archivo secuencial indexado puede tener acceso porque manejan un archivo
secuencial y un archivo relativo o de acceso directo.

El tipo de sus registros contiene un campo clave identificador.

Los registros están situados en un soporte direccionable por el orden de los valores
indicados por la clave.

Un archivo secuencial indexado contiene un archivo índice y un archivo de datos. Es


necesario que los registros contengan un campo clave para identificarlos y que estén
almacenados en un soporte direccionable según el orden que indique dicha clave. El
archivo índice agiliazará la búsqueda dentro del fichero. El fichero de datos se organiza,
lógicamente, en bloques o páginas de varios registros.
. Cada registro del fichero índice almacena:

• El valor del campo clave del último registro de un bloque. Los bloques están constituidos
por un número fijo de registros consecutivos.

• La dirección del primer registro de dicho bloque. Puede haber un área de


desbordamiento. Ocupa más espacio en disco pero es más rápido. Puede almacenarse el
fichero índice en memoria. Habría que calcularlo al iniciar una sesión de trabajo.

En este tipo de organización de archivos se dispone de una tabla en que aparecen


ordenados secuencialmente los números de la clave del archivo y asociados a cada uno
de ellos de da la dirección del registro correspondiente.

AREAS DEL ARCHIVO SECUENCIAL INDEXADO

Área de Datos: Contiene los registros secuencial, esta ordenados alfabéticamente o


alfanuméricamente y no deja espacios.
Los ficheros con organización secuencial indexada se graban en un soporte de
almacenamiento directo, en secuencia ascendente, de acuerdo con los valores de la clave
y en páginas o bloques de longitud fija.

Área de índice: Los niveles de índice están contenidos en una tabla, si existieran varios
índices enlazados se denomina nivel de indexación.
Es creada por el sistema al mismo tiempo que se van almacenando los datos. Contiene
una tabla que asocia las claves con las direcciones de los registros en el área de datos.
Cada entrada del área de índices está formada por el valor más alto de la clave de cada
grupo de registros y un puntero con la dirección del primer registro del grupo.

Área de Desbordamiento o Excedentes: Esta área es utilizada para realizar


actualizaciones si ello es necesario
Se graban los registros que no tienen sitio en el área de datos. Los nuevos registros se
insertan y quedan enlazados entre sí mediante punteros conservando el orden lógico que
marca la clave o índice principal.

Estos registros se presentan como una lista encadenada, en que el puntero al próximo
registro está compuesto por la pista y el lugar que ocupa el registro dentro de la pista.
Esta lista se mantiene ordenada por clave.
Del tratamiento de los índices y punteros se encarga el sistema operativo.
Archivo Directo
El archivo directo intenta explorar la capacidad, proporcionada por las unidades de disco y
dispositivos similares, de lograr acceso a cualquier bloque de dirección conocida. Para
lograr el direccionamiento directo se utiliza la llave del registro para localizarlo en el
archivo.

Los métodos modernos de acceso directo transforman la llave mediante un algoritmo de


computación antes de utilizarla como dirección. El método de acceso directo es rápido, ya
que se evitan las operaciones intermedias de archivo, pero obliga a que los datos se
localicen de acuerdo con un solo atributo llave. Puede compararse el acceso directo con
un archivo secuencial indexado en el que el acceso se proporciona de acuerdo con un
solo atributo; sin embargo, los registros dentro de los archivos directos no están
eslabonados con sus registros predecesores o sucesores. Los métodos de archivo directo
utilizan un cálculo para proporcionar la dirección de registro para una llave, mientras que
las organizaciones de archivo indexado buscan en índices para determinar cuál es el
registro correspondiente a una llave.

ESTRUCTURA DE LOS 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). El almacenamiento de este tipo de archivos se
restringe a los DASD, tales como discos y tambores, por que el acceso a registros se
hace generalmente en orden aleatorio.

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.

Un archivo de organización relativa puede crearse con un programa en un lenguaje de


alto nivel si es que el método de acceso del sistema operativo central es capaz de
manejar esta organización, y si el compilador del lenguaje de interface con tal método de
acceso.

FUNCIONES HASHING.

En informática , Hashing es un método para resumir o identificar un dato a través de la


probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de
dicha función o algoritmo.

Una función de hash es una función para sumarizar o identificar probabilísticamente un


gran conjunto de información ( dominio ), dando como resultado un conjunto imagen finito
generalmente menor (un subconjunto de los números naturales por ejemplo). Varían en
los conjunto de partida y de llegada y en cómo afectan a la salida similaridades o patrones
de la entrada. Una propiedad fundamental del hashing es que si dos resultados de una
misma función son diferentes, entonces las dos entradas que generaron dichos resultados
también lo son.

Son usadas en múltiples aplicaciones, como los arrays asociativos , criptografía ,


procesamiento de datos y firmas digitales entre otros. Una buena función de hash es una
que experimenta pocas colisiones en el conjunto esperado de entrada; es decir que se
podrá identificar unívocamente las entradas (ver función inyectiva ).

Muchos sistemas relacionados con la seguridad informática usan funciones o tablas de


hashing .

[Otra información]

Un archivo 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. El
almacenamiento de este tipo de archivos se restringe a los DASD, tales como discos y
tambores, porque el acceso a registros se hace generalmente en orden aleatorio.

Cada registro en un archivo de organización directa hace referencia por 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.

Un archivo de organización relativa puede crearse con un programa en un lenguaje de


alto nivel si es que el método de acceso del sistema operativo central es capaz de
manejar esta organización, y si el compilador del lenguaje de interface con tal método de
acceso.

Pues esta forma nos permite acceder de forma directa dando más funciones,
probablemente rapidez en la búsqueda de datos.

LAS OPERACIONES DE INSERCCION, SUPRESION Y MANEJO DE COLISIONES

Los archivos relativos son archivos que pueden ser accesados directamente por medio de
llaves que a través de un método son convertidas en direcciones en las que se almacenan
los registros.

Para realizar las conversiones de llave a direcciones se utilizan distintos métodos o


técnicas. Las técnicas más usadas son las que emplean la función HASH, esta función
consiste en tomar el residuo de la división de la llave y un número primo superior más
cercano al número máximo de registro que almacena el archivo.

El uso de esta función genera lo que se llama colisiones. Las colisiones son las
repeticiones de direcciones que se obtienen de la función HASH. Conforme más saturado
se ve un archivo más frecuentes serán las colisiones que se presenten. El factor de carga
nos dice que tan lleno esta un archivo y que tan bueno es el desempeño del archivo, el
factor de carga se obtiene dividiendo él número de registros en el archivo sobre él número
máximo de registros que puede almacenar el archivo.

Las colisiones no se pueden eliminar pero si se pueden disminuir los efectos negativos
que producen, para esto están los métodos de solución de colisiones, entre los más
conocidos están el encadenamiento de sinónimos, el direccionamiento por cubetas etc.

LA ESTRUCTURA DE ARBOLES PARA MULTINIVELES

Para archivos de gran tamaño el inconveniente para mantenimiento de índices se


presenta en el tamaño que estos ocupan y por consiguiente la cantidad de memoria
requerida para mantenerlos en esa zona (memoria principal) y lograr así un nivel de
eficiencia óptimo. La solución a este inconveniente se obtiene fragmentando el índice en
múltiples niveles en una estructura arbolada.

Las técnicas más conocidas son:

ISAM Índex Sequential Access Method

VSAM Virtual Storage Access Method

ISAM

Es un modelo que se relaciona íntimamente al hardware de almacenamiento puesto que


se diseña de acuerdo a la estructura de los niveles del medio físico como los cilindros,
pistas y sectores.

Cada nivel contiene en el primer subnivel un índice de los restantes subniveles;


ocasionalmente se reservan los últimos elementos de este nivel como área de desborde.
El área principal de almacenamiento se encuentra entre el índice y el área de desborde.
Una cualidad de ISAM es su alta velocidad de funcionamiento; su principal desventaja es
la escasa transportabilidad; es decir solo opera para un hardware determinado.

La implementación de este modelo requiere la aplicación de técnicas que sustituyen en


cierto grado algunas funciones del sistema operativo como son: almacenamiento y
recuperación de datos. En vista de ello, deberá obtenerse de un medio exclusivo para el
mantenimiento de los datos a manejar.

VSAM

Consiste en mantener en memoria principal un índice maestro, el cual contiene los


intervalos iniciales de las llaves y las referencias (ligas) hacia los archivos que contienen
subíntralos más específicos de las llaves.

Cuando se determina el archivo que será cargado en memoria, este se consulta para
obtener un intervalo más específico y se carga el siguiente archivo en las mismas
localidades de memoria, es decir, se sobre escribe en el índice previo en la memoria. Este
proceso se repite hasta alcanzar el último nivel el cual contendrá la dirección lógica del
dato buscado en el archivo principal. La principal cualidad de VSAM es su
transportabilidad, el inconveniente es la cantidad de accesos a disco que se requieren
para obtener el dato deseado. Según la cantidad de memoria disponible se diseñara la
cantidad de memoria de los bloques. A mayor cantidad de memoria, mayor tamaño de
bloques y en consecuencia menor cantidad de niveles y por lo tanto menos accesos a
disco.
Bibliografía

http://es.slideshare.net/luismy_martinez?
utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideview

http://romerovivivi.blogspot.com.es/

https://admisnitraciondearchivogabrielagomezperez.wordpress.com/2011/11/23/unidad-v-
archivos-directos/

Das könnte Ihnen auch gefallen