ARCHIVO SECUENCIAL.
Archivo Secuencial es la forma mas simple de almacenar y recuperar registros de un archivo. En un archivo secuencial, se almacenan los registros uno tras otro. El primer registro almacenado se coloca al principio del archivo. El segundo se almacena inmediatamente después (no existe posición sin uso), el tercero después del segundo… este orden nunca cambia en la organización secuencial.
Una característica de los archivos secuenciales es que todos los registros se almacenan por posición: de primer registro, segundo, etc.
OPERACIONES EN ARCHIVOS SECUENCIALES.
LECTURA DE ARCHIVOS SECUENCIALES:
En la lectura del archivo secuencial, el sistema siempre comienza desde el principio del archivo, lee un registro a la vez hasta llegar al registro solicitado. Ejemplo: Si el registro que se desea consultar es el numero 100, el sistema leerá desde el inicio y leerá hacia adelante hasta llegar al deseado.
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, y para llevar a cabo la actualización del archivo maestro se tendrán que realizar los tipos de actualización:
* Insertar nuevos registros
* Borrar registros
* Modificar registros
Al estar usando un archivo secuencial como archivo maestro, al realizar las operaciones de actualización, se auxilio de un archivo de transacciones, debido a que se realizará el proceso en lote para que sea más eficiente
ARCHIVO SECUENCIAL-INDEXADO.
Una de las organizaciones de archivos más utilizada es la secuencial indexada, la cual es posible el acceso a un registro en particular (aleatoria) y el proceso secuencial a partir del inicio del archivo en cualquier otro registro del archivo.
Cada registro en el archivo se identifica por medio de un número o un grupo de caracteres exclusivos; la llave primaria.
Los registros se almacenan según una secuencia física dada, este ordenamiento mas usualmente es de disponerlos en el orden indicado por la llave, con lo cual permite un procesamiento secuencial de los registros precisamente en el orden en que están distribuidos en el archivo y también es posible el procesamiento aleatoria, en el que se llega a los registro en un orden cualquiera.
Estructura de datos que mejora la velocidad de las operaciones, permite un rápido acceso a los registros de una tabla en una base de datos sencilla, Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hagan frecuentes búsquedas.
El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. Para buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice.
Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.
El espacio en disco requerido para almacenar el índice es típicamente menor que el espacio de almacenamiento de la tabla (puesto que los índices generalmente contienen solamente los campos clave de acuerdo con los que la tabla será ordenada, y excluyen el resto de los detalles de la tabla), lo que da la posibilidad de almacenar en memoria los índices de tablas que no cabrían en ella. En una base de datos relacional un índice es una copia de parte de una tabla.
Algunas bases de datos amplían la potencia del indexado al permitir que los índices sean creados de funciones o expresiones. Por ejemplo, un índice puede ser creado sobre la función “Apellido”, que almacenaría en el índice los apellidos del persona. Otra opción a veces soportada, es el uso de índices "filtrados", donde las entradas del índice son creadas solamente para los registros que satisfagan una cierta expresión condicional. Un aspecto adicional de flexibilidad es permitir la indexación en funciones definidas por el usuario, también como expresiones formadas de un surtido de funciones incorporadas.
Los índices pueden ser definidos como únicos o no únicos. Un índice único actúa como una restricción en la tabla previniendo filas idénticas en el índice.
ARCHIVOS DIRECTOS
La organización directa es aquella que permite una posicionamiento sobre registros específicos al localizar una llave. Lo anterior permite agilizar la localización de un dato en un archivo determinado al no requerirse el procesamiento de los registros contiguos previos.
Existen básicamente tres alternativas para implementar un acceso directo:
Archivo clasificado para búsqueda binaria: Se requiere que el archivo principal se mantenga ordenado respecto a la llave en todo momento. La ventaja de este método reside en la alta velocidad de acceso; su desventaja consiste en el tiempo que debe invertirse para mantener clasificado al archivo en todo momento. Este método se utiliza cuando el tiempo de búsqueda tiene una prioridad extremadamente alta en relación al tiempo de actualización.
Ajuste de llave a esqueleto: Este método se utiliza cuando la llave contiene dígitos y opcionalmente caracteres alfabéticos. El algoritmo de asignación consiste en tomar de la llave aquellos caracteres (preferentemente dígitos) que presenten mayor variación y utilizarlos como dirección en un esqueleto previamente creado. El esqueleto contendrá la cantidad de registros inicialmente estimados y en forma contigua al área de desborde para los sinónimos resultantes.
El método anterior nos da la oportunidad de seleccionar aprovechamiento del espacio o velocidad de acceso (en forma excluyente). Para mayor velocidad, tamaño de esqueleto grande, con el consecuente desperdicio de espacio.
La velocidad de acceso queda determinada por la longitud de las cadenas de búsqueda, que a su vez se obtiene de las posibles combinaciones existentes para los caracteres descartados en la llave original (considerando solo los caracteres variados).
Una implementación de este método que puede darse para las eliminaciones consiste en la baja lógica con procesos posteriores de reacomodo si se desea obtener una velocidad adecuada en la operación del sistema.
Si no es relevante la rapidez al realizar una baja, se procederá a sustituir el registro eliminado por aquel que se encuentre al final de la cadena de búsqueda o incluso al recorrer los registros de esta cadena; lo anterior según se requiera mantener o no el orden de llegada de los registros.
Transformación de llaves (Hashing): Este método consiste en descomponer la lave en múltiples fragmentos y mediante la aplicación de diverso algoritmos, dar origen a un numero en un intervalo determinado y utilizarlo como dirección de registro en el esqueleto.
Existe otro modelo de acceso directo que es considerado como un caso especial:
Relación directa - Llave dirección: Este método es aplicable para sistemas donde los elementos a registrar reciben un folio consecutivo como llave. La llave del registro se hace corresponder con la dirección física de este, por lo que la velocidad de acceso es extremadamente alta.
Esta implementaron no permite eliminación física; cuando un registro es inhabilitado, se le aplica una marca lógica que podrá ser removida en caso de requerirse la reactivación posterior de tal registro.
El inconveniente mas delicado es la ocupación innecesaria de espacio para aquellos registros eliminados lógicamente que no habrán de ser reactivados.
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:
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:
No hay comentarios:
Publicar un comentario