Archivos
Como ya se explicó anteriormente, un archivo es un conjunto de registros lógicos referentes a entidades u objetos del mismo tipo.
DEFINICIONES
Registro lógico
Es el conjunto de datos referentes a una misma entidad o cosa, que constituye una unidad para un determinado proceso (programa o parte del programa) ejecutable por el computador.
Campo
Es cada uno de los diferentes datos que constituye un registro lógico.
Clave
Es el campo del registro lógico que sirve para identificar al registro al que pertenece. Se utiliza para localizar al registro dentro de un archivo y para ordenar el mismo. Puede ser cualquier campo dentro del registro.
Registro físico
La creación de un archivo se realiza mediante una secuencia de operaciones de escritura. Al conjunto de datos transferidos en cada operación de escritura/lectura se le llama registro físico. Por tanto se define como el conjunto de bytes que se transfieren entre la memoria interna o principal y el dispositivo de almacenamiento en una sola operación de entrada/salida. Los registros físicos están individualizados en el dispositivo físico de almacenamiento por espacios no utilizados que los separan entre sí.
Bloqueo de registros
Un registro físico puede constar de un número variable de registros lógicos, o lo que es igual, se pueden transferir varios registros lógicos de la memoria al disco o del disco a la memoria empleando una sola operación de escritura/lectura. Este fenómeno recibe el nombre de bloqueo, y los registros físicos así formados se llaman bloques. El número de registros lógicos contenidos en un bloque recibe el nombre de factor de bloqueo.
Ventajas del bloqueo de registros
· Mayor velocidad en los procesos de entrada/salida.
· Mayor aprovechamiento de la capacidad del soporte de almacenamiento.
Registros expandidos
En algún caso es necesario que un registro lógico, excepcionalmente largo, se extienda sobre varios registros físicos. Estos registros, opuestos en cierta forma al concepto de registros bloqueados, reciben el nombre de
registros expandidos.
TIPOS DE ARCHIVOS SEGUN SU FUNCION
Archivos permanentes
Son aquellos cuyos registros sufren poca o ninguna variación a lo largo del tiempo. Se dividen en:
· Constantes: están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo.
· De situación: son los que 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.
Archivos de movimiento o transacciones
Son aquellos que se utilizan conjuntamente con los maestros (constantes), y contienen algún campo común en sus registros con aquellos, para el procesamiento de las modificaciones experimentadas por los mismos. El período de conservación es breve, ya que suelen destruirse una vez efectuados los cambios sobre el maestro.
Archivos de maniobra o transitorios
Son los archivos auxiliares creados durante la ejecución del programa y borrados habitualmente al terminar el mismo. Pertenecen también a este tipo los utilizados para comprobación de los resultados intermedios en un
determinado proceso.
MEDIDAS DE UTILIZACION DE LOS ARCHIVOS
Indice de volatilidad
Es el porcentaje de registros que se adicionan o suprimen en un archivo respecto al número medio total de registros del archivo, en un período de tiempo fijo, o en cada actualización. Así, un archivo es volátil, cuando
tiene un alto porcentaje de adiciones y supresiones, y es estático en caso contrario.
Indice de actividad
Es el porcentaje de registros utilizados respecto al número medio total de registros del archivo, en un período de tiempo fijo, o en cada actualización o consulta. Suele emplearse para determinar si un archivo debe de explotarse con una organización secuencial o relativa, comparando los tiempos empleados en acceder a los registros en modo secuencial o directo. Como guía de la organización a emplear en un archivo, se efectúan los siguientes cálculos:
· A = Indice de actividad = NRU / NRT
· B = LR / TA * VLS
· NRU = Número medio de registros utilizados en un período de tiempo fijo.
· NRT = Número medio total de registros del archivo.
· LR = Longitud en bytes del registro.
· TA = Tiempo de acceso medio a un registro en un soporte de acceso directo en seg.
· VLS = Velocidad de lectura secuencial en bytes/seg.
Si como resultado de la aplicación de estas fórmulas, A es menor que B, es conveniente utilizar la organización relativa o directa, y en caso contrario la secuencial.
OPERACIONES SOBRE ARCHIVOS
La creación
Es el almacenamiento (grabación) sobre un soporte de los registros que lo forman, utilizando una organización determinada.
La consulta
Consiste en localizar uno o varios registros y acceder a la información que contienen.
La clasificación
Es la ordenación de los registros de un archivo con respecto a uno o varios de sus campos. Puesto que los registros están divididos en varios campos, si ordenamos o clasificamos el archivo respecto a uno de ellos,
queda desordenado respecto a otros. El campo con respecto al cual se clasifica el archivo recibe el nombre de campo criterio de clasificación. Existen dos posibilidades de clasificación:
· Ascendente: el orden se establece de menor a mayor.
· Descendente: el orden se establece de mayor a menor.
La actualización
Para que la consulta sobre un archivo sea realmente útil, el archivo deberá estar actualizado, es decir, puesto al día. Para ello, deberán incluirse nuevos registros, suprimirse otros y modificarse algunos de los existentes. Estas operaciones pueden afectar a un registro completo o a alguno de sus campos solamente.
SOPORTES SECUENCIALES Y DIRECCIONABLES
Soportes secuenciales
Los datos se graban unos a continuación de otros, del tal forma que el acceso a un dato se hace pasando sobre todos los datos que le preceden en el soporte.
Soportes direccionables
El espacio de almacenamiento se divide en espacios parciales direccionables individualmente, pudiendo accederse a un dato por la dirección en que está almacenado, sin que sea necesario pasar por los datos almacenados en direcciones físicas anteriores.
ESTRUCTURA DE LOS REGISTROS
Registros de longitud constante
Cuando se crea un archivo formado por registros de longitud constante, debe especificarse la longitud de los registros que lo integran y/o la longitud de sus campos. Un archivo abierto para acceso directo debe obligatoriamente estar constituido por registros de este tipo, a fin de que el computador pueda efectuar correctamente los cálculos necesarios para acceder a ellos. La longitud de los registros puede obtenerse:
· Utilizando el mismo número de campos en cada registro, con iguales longitudes de los campos componentes dentro de cada registro.
· Con igual número de campos componentes, con distinta longitud de cada campo dentro de cada registro.
· Con distinto número de campos en cada registro.
Registros de longitud indefinida
Es un simple registro lógico formado por varios campos (segmentos) de longitud variable. La longitud de cada registro es arbitraria, por lo que el computador no podr acceder directamente a un registro del archivo grabado con esta estructura, al no poder efectuar los cálculos en bytes necesarios para determinar su posición. Es por tanto necesario, para acceder a la información de un registro, leer todos los anteriores que le preceden. Cada registro contiene información de control sobre:
· El primer campo del registro.
· El último campo del registro.
· Un sólo campo del registro.
Registros de longitud variable
Pueden contener cualquier número de bytes, hasta un determinado valor máximo, que ha de fijarse previamente. Para definir la longitud de los registros, a fin de que puedan ser leídos y escritos correctamente, se utilizan los siguientes métodos:
· Separadores de campos o banderas: consiste en colocar al final o al principio de cada campo del registro un carácter especial auxiliar, que debe ser uno de los no utilizados como componentes de los campos.
· Indicadores de longitud: consiste en indicar longitud de cada campo o del registro mediante la utilización de campos auxiliares al principio o al final de cada campo del registro.
· Máscaras: la ausencia o presencia de campos se indica en el primer campo del registro, utilizando subcampos conteniendo cero o uno según exista o no, el segundo, tercero, etc. campo del registro.
MODOS DE ACCESO
Hay que distinguir entre organización de archivos y modo de acceso a los registros. El primero se aplica a la forma en que los registros se colocan, almacenan o graban en el dispositivo físico durante su creación. El segundo se refiere al método utilizado para acceder a los registros de un archivo prescindiendo de su organización. Existen distintas formas de acceder a los datos:
· Secuencial: los registros se leen desde el principio hasta el final del archivo, de tal forma que para leer un registro se leen todos los que le preceden.
· Directo: cada registro puede leerse/escribirse directamente sin necesidad de leer/escribir los que le preceden. Basta con expresar su dirección relativa en el fichero por el número relativo del registro o por transformación de la clave de registro en el número relativo del registro a acceder.
· Por índice: se accede indirectamente a los registros por su clave, mediante consulta secuencial a una tabla que contiene la clave y la dirección relativa de cada registro, y posterior acceso directo al registro.
· Dinámico: tiene lugar cuando, a un archivo construido con una determinada organización, es posible acceder en cualquiera de los modos anteriormente citados. La elección del método de acceso está directamente relacionado con la estructura de los registros del archivo y del soporte utilizado.
ORGANIZACION DE ARCHIVOS
Organización secuencial
En la creación del archivo, los registros que lo forman se han escrito o grabado en el soporte de almacenamiento en posiciones físicas contiguas, en la misma secuencia en que se introdujeron los datos, sin huecos entre ellos y ordenados o no, por un determinado campo o clave del registro.
· Ventajas: consiste en la rapidez de acceso a tablas o archivos con un alto porcentaje de registros consultados o modificados, y a su ocupación mínima del soporte cuando se usan registros de longitud indefinida.
· Desventajas: si el número de registros consultados o modificados es relativamente bajo respecto al total, y la necesidad de copiar el archivo, creando uno nuevo, cuando se desea insertar un nuevo registro intermedio.
Organización relativa o directa
Consiste en una serie de posiciones de memoria numeradas llamadas celdas. Estas celdas son de igual capacidad, y están numeradas consecutivamente de 1 a N, donde 1 es la primera y N la última celda utilizable del archivo. Los registros se sitúan en el archivo de acuerdo a su número de celda. Estas celdas se convierten en registros numerados, siendo su número la posición que ocupan respecto al principio del archivo. La dirección relativa puede obtenerse por transformación matemática o algoritmo. Como consecuencia, dos o más claves pueden dar la misma dirección física. Este hecho se conoce como producción de sinónimos. Al no generarse todas las direcciones entre 1 y N quedan celdas intermedias vacías, que el computador considera como ocupadas, llamadas huecos.
· Ventajas: permite la consulta directa, sin lectura de los registros anteriores, de uno o varios registros en función de su clave.
· Desventajas: hace necesario el predimensionamiento en exceso de los registros, lo que hace aumentar innecesariamente el espacio ocupado, al rellenarse la longitud de los campos sobrantes con blancos. Nos obliga a elegir un segundo criterio de ordenación, para intentar evitar un desborde al producirse los sinónimos.