domingo, 9 de junio de 2013

Ventajas y desventajas de sistemas de archivo.

Los sistemas de clasificación ofrecen ventajas y desventajas en entornos de oficina. La mayoría de las empresas utilizan sistemas tradicionales, en los que los documentos en papel son almacenados en archivadores. El tipo más común de los sistemas de archivo es el sistema alfabético.




Ventajas:

Los sistemas de clasificación alfabéticos son un tipo de sistema fácil de enseñar y aprender. Los documentos se presentan en orden alfabético, por lo general ordenados por el nombre del proveedor. Cualquier empleado puede encontrar el documento que necesita siempre y cuando conozca el nombre del proveedor.

Desventajas:

Una desventaja de este sistema es que los documentos son frecuentemente traspapelados. Otra de las desventajas es que si algún documento está clasificado bajo el primer nombre de un proveedor en vez de su apellido, los documentos son difíciles de localizar. Además, los cambios de nombre en las empresas no pueden ser registrados adecuadamente, causando también confusión.



Concepto de Archivos

Un archivo es el módulo básico de información manejado por el Sistema Operativo.

En Pascal, un archivo es una secuencia de elementos que pertenecen al mismo tipo o estructura, esto es que un archivo puede ser una secuencia de caracteres, números o registros, por lo que su representación lógica puede hacerse como una secuencia de módulos del mismo tamaño.


Cada elemento de un archivo se le llama registro. En Pascal, la numeración de los registros empieza con el número CERO , por lo que al elemento_1 se le llamará registro 0, al elemento_2 registro 1, y así sucesivamente hasta llegar a la marca de fin de archivo EOF.

En Pascal estándar, los archivos son formalmente definidos independientemente del medio en que residan. Como resultado, todo acceso a cualquier archivo en Pascal estándar es secuencial.

En Turbo Pascal los archivos son definidos como archivos de disco. Lo que permite nuevas estructuras y mecanismos de acceso a los archivos.

Tipos de Archivo

1. texto (text) o secuenciales (acceso secuencial),
2. tipeados (tipificados) o con tipo (file of) (acceso aleatorio), aleatorios,
3. no tipeados (no tipificados) o sin tipo (file).

Archivos de texto : (secuenciales) Son archivos que contienen texto (carácter ASCII)

Archivos con tipo : (aleatorios)

Archivos que contienen datos de cualquier tipo como integer, real, byte, record, datos con estructuras.

Archivos sin tipo : Archivos en los que no se conoce su estructura ni su contenido; están concebidos para acceso de bajo nivel a los datos de un disco (E/S de bytes).


Características de los archivos

Las principales características que diferencian a esta estructura de datos de las restantes son las siguientes:

·    Residencia en soporte de información externa: también denominados memorias secundarias o auxiliares por ejemplo, cintas y discos.

·     Independencia respectos de los programas: significa que la vida del archivo no está limitada por la vida del programa que lo creó y también que en diferentes momentos pueden utilizarse el mismo archivo en distintos programas.

·     Permanencia de las informaciones almacenadas: es decir toda la información almacenada en la memoria central desaparece cuando se ejecuta el programa que lo maneja, pero para hacer desaparecer un archivo será necesario realizar explícitamente una operación de borrado.

·     Gran capacidad de almacenamiento: teóricamente esta capacidad es ilimitada, por el contrario las estructuras de datos que residen en la memoria central tiene limitado su tamaño por la capacidad de este.

Clasificación de los archivos según su uso

Los archivos se clasifican según la utilización que se hace de ellos en tres grupos:

Archivos permanentes: contienen información que varía poco a lo largo del tiempo.
Pueden ser de tres clases:

Archivos constantes: su información permanece prácticamente inamovible utilizándose principalmente como archivos de consulta. Un archivo de este tipo puede ser la red del metro de una ciudad, que contiene la descripción, la característica, número de estaciones, número de trenes etc., de cada día.

Archivos de situación o maestros: son colecciones de registros que se refieren a eventos que afectan a una organización. Los datos pueden constituir una revisión histórica de eventos, como el caso de un archivo del historial de ventas o del historial de proveedores, o pueden ser archivos orientados a eventos presentes, tales como los archivos sobre el estado del inventario, o bien archivos de cuentas por cobrar. En cada uno de los casos, los archivos contienen los datos que son primordiales para la operación continua de la organización. En consecuencia, deben ser mantenidos constantemente (es decir, cambios con objeto de incluir datos referentes a nuevos eventos o para corregir errores) a fin de asegurarse que sean a la vez precisos y actualizados. Un archivo maestro que no contenga datos actualizados, a menos de que se conserve estrictamente para fines históricos o para conservación usual, es de muy pequeño o de ningún valor para una organización. Los archivos con el historial de las ventas o de las cuentas por cobrar pueden, por ejemplo, actualizarse diariamente para incluir los nuevos datos sobre las mercancías que se han retirado del inventario, para cargar o acreditar ventas que se han efectuado durante el día.

Estos archivos se utilizan periódicamente para adaptarlos a cada nueva situación.

Archivos históricos: se obtienen de los anteriores cuando se dejan fuera de uso para futuros estudios estadísticos o consulta. Será un archivo histórico el que contiene por ejemplo la información de libros adquiridos por una biblioteca en la década del 80.

Archivos de movimiento o transacciones: estos son relativamente temporales, ya que contienen datos sobre las transacciones de las actividades de la empresa. Estos pueden establecerse con objeto de capturar datos sobre transacciones de ventas (tales como cantidades de artículos vendidos a un solo cliente), recibos de ventas al contado, y así sucesivamente. Estos archivos son utilizados principalmente para registrar los datos en el archivo maestro, de la misma manera que un contador registra los datos en las cuentas respectivas. En otras palabras estos, que también se llaman archivos de detalle debido a que contienen los detalles de las transacciones, se procesan contra (utilizado como datos para actualización) el archivo maestro.

Una tienda de menudeo, por ejemplo, normalmente realiza ventas a crédito. El monto de estas ventas, así como ciertos datos descriptivos referentes a las transacciones, deben ser recopilados y utilizados para actualizar los registros de cada cliente que ha hecho una compra. Supongamos que los siguientes datos se han recolectado en un volante de ventas para cada una de las transacciones: (1) nombre del cliente, (2) número de cuenta del cliente, (3) fecha de la transacción, (4) descripción y precio de cada artículo comprado, y (5) importe total de la venta. Al final de cada semana, la tienda reúne todo los datos en el archivo de transacciones de la siguiente manera. Primeramente los volantes de las ventas son agrupados y puestos en un lote o expediente. Luego se introducen los datos a la computadora y los volantes se separan y guardan en un gabinete metálico para el caso de que sean necesarios más tarde. La computadora registra un archivo de transacciones de todas las ventas semanales en una cinta magnética.


Este proceso genera un archivo de transacciones que contiene todos los datos relevantes de cada venta a crédito. Este archivo es posteriormente procesado contra el archivo maestro de las cuentas por cobrar; esto es, todas las transacciones de las nuevas ventas sor registradas o introducidas en el archivo maestro. Un programa de cómputo lee cada registro de las transacciones, encuentra el correspondiente registro del cliente en el archivo maestro y el importe de la compra se agrega al saldo existente. Este proceso, mostrado en la forma de un diagrama de flujo en la siguiente figura se repite para cada transacción en el archivo de transacciones.

Clasificación de los archivos según su organización

Al diseñar un archivo dependiendo del uso que se va a hacer del mismo y del soporte utilizado, se pueden elegir distintas maneras de organizar sus registros, siendo las siguientes las principales organizaciones:
  • Secuencial /seriada:
En una organización serial, el tipo más básico de organización de archivos o conjunto de datos, los registros se almacenan en ubicaciones adyacentes físicamente en el medio de almacenamiento (por ejemplo cinta magnética, disco o tambor magnéticos) sin considerar algún orden o secuencia particular de los registros. Sólo se considera el almacenamiento de cada registro en la siguiente posición disponible. En estos casos no importa cuál es el contenido de un registro o los otros registros que lo preceden. Para leer un registro almacenado bajo la organización serial, el archivo debe ser procesado desde el principio hasta encontrar el registro que se busca. Debido a que esto es una manera incierta de organización de los archivos, el método serial raramente es utilizado para almacenar los registros en archivos permanentes. Sin embargo, a menudo se utiliza para los datos de transacciones que se registran tan pronto como ocurre un evento. Por ejemplo, si los datos de ventas se almacenan en una cinta magnética utilizando un dispositivo de tecla a cinta a medida que ocurren las transacciones, estos archivos están organizados en forma serial. Puesto que los registro se hallan escritos uno a continuación del otro, no importa que no estén organizados alfabéticamente por el nombre del cliente o por el nombre del artículo vendido.
En la organización secuencial, los registros se escriben en la misma secuencia en que se recolectan, pero están organizados con un cierto orden. Esto significa, y es la principal diferencia entre la organización serial y la secuencial, que si se requiere un orden en particular los registros de datos deben ser ordenados antes de que se cree el archivo de nómina en una cinta magnética a partir de documentos fuente, y se desea una clasificación alfabética por apellido, los registros deben ser puestos en un orden alfabético antes de que sean enviados a la cinta magnética. Después de que aya terminado la clasificación, los datos se registran y almacenan en el orden en que se graban. En otras palabras, el primer registro procesado es el primer registro escrito en la primera posición de la cinta y así sucesivamente.
Cuando se procesan archivos organizados en forma secuencial, los registros deben ser leídos en el mismo orden en que se encuentran almacenados, comenzando con el principio del archivo. El procesador lee el archivo desde el principio, verificando cada registro individual hasta encontrar el deseado. Por lo tanto, si el registro particular que se desea procesar se halla en el lugar 101 del archivo le precederán 100 archivos que deben ser leídos antes que él. La organización secuencial puede ser utilizada en todo los medios de almacenamiento, pero es el método dominante para las cintas magnéticas.
En un archivo secuencial no se pueden hacer operaciones de escritura cuando se está leyendo, ni operaciones de lectura cuando se está escribiendo, por otro lado para actualizar es necesario crear nuevos archivos donde se copien los registros que vayan a permanecer modificado o no, junto con los nuevos
El método usual de poner al día a tales archivos, es por medio de un copiado de todo el archivo desde un dispositivo a otro. Los datos de transacciones son almacenados en la misma secuencia que el archivo maestro, los registros son cotejados y subsecuentemente fusionados para crear una nueva versión actualizada. Las copias viejas o anteriores, son retenidas para usarlas en la eventualidad de una corrupción del archivo o una caída del sistema. Los archivos secuenciales son apropiados sólo para procesamiento en lote y no se pueden usar en sistemas en línea. Esta técnica de organización de archivos, también incurre en el desaprovechamiento del sistema en términos de información indeseable, se tiene que copiar desde un dispositivo a otro. Su principal ventaja recae en el hecho, de que tales archivos pueden almacenarse sobre cintas magnéticas relativamente baratas;
gráficos de archivos serial y secuencial (no importan)
Archivo secuencial
  • Directa o aleatoria: (también denominada relativa)
Una alternativa a la organización secuencial es la organización aleatoria llamada a veces también organización de direccionamiento directo. Con este método, que puede ser utilizado con los dispositivos de almacenamiento directo como los discos y los tambores magnéticos, los registros no requieren estar escritos o tener acceso a ellos en forma secuencial, pero pueden ser manejados al azar o en forma aleatoria. Cada posición del medio de almacenamiento tiene una dirección, y cuando el registro se procesa puede ser asignado a cualquier posición de almacenamiento en el dispositivo, sin considerar si las posiciones precedentes ya han sido utilizadas. En otras palabras al crear el archivo de nómina que hemos discutido anteriormente, las transacciones pueden ser procesadas en cualquier orden, y escritas en muchas posiciones a través del almacenamiento. No tienen que estar escritas siguiendo un orden o secuencia.
Para acceder a un registro almacenado utilizando una organización aleatoria, los registros anteriores no necesitan ser examinados antes que tal registro. La CPU puede ir directamente al registro que se desea sin haber buscado en los anteriores del archivo. Obviamente, por tanto cuando se tiene que acceder a un registro, la organización aleatoria es mucho más rápida que la secuencial. Sin embargo, cuando hay un gran número de registros que deben ser localizados y leídos, y las transacciones pueden ser clasificadas en el mismo orden que el archivo maestro, la organización secuencial puede ser mucho más eficiente.
Los archivos aleatorios, utilizan el espacio de almacenamiento disponible muy eficientemente y son apropiados para sistemas en línea, en los cuales el tiempo de acceso a los registros es un factor importante.
  • Secuencial indexada: un archivo con esta organización consta de tres áreas:
  • Area de índice: es un archivo secuencial creado por el sistema en el que cada registro establece una división (segmento) en el área primaria y contiene la dirección de comienzo de segmento y la clave mas alta del mismo, de esta manera el sistema accede de forma directa a un segmento del área primaria a partir del área de índices de forma similar a la búsqueda de un capitulo de un libro en su índice.
  • Area primaria: contendrá los registros de datos ordenados en forma ascendente por su campo clave.
  • Área de excedente: es aquella en la que estará todo aquel registro que sobrepasa la extensión del archivo o sea que este presenta una necesidad de espacio adicional.
Un uso común de los dispositivos de direccionamiento directo para organización de archivos implica formar y mantener índices para el almacenamiento secuencial y no secuencial.
El índice que se emplea en las técnicas de organización de archivos es comparable al índice que figura en algunos libros: tiene una lista de claves de registros y direcciones de datos relacionados. En un libro, el identificador o clave es un tema o nombre, y la ubicación es un número de página. Los índices de los archivos consisten en una clave de registros y una dirección de almacenamiento. Para localizar un registro, se busca en el índice hasta hallar la clave apropiada del registro. La dirección correspondiente a la clave es donde se encuentra almacenado el registro. El sistema de organización indexada (o con índice) economiza espacio asignado pero no utilizado en el medio de almacenamiento. Puesto que el índice mantiene la localización de la ubicaciones de almacenamiento únicamente los espacios de almacenamiento realmente utilizados son los que necesitan ser asignados. Esto contrasta con los métodos de almacenamiento directo y de distribución donde el espacio se asigna para un uso posterior.
Los índices se utilizan en las organizaciones secuencial y no secuencial con índices. El método secuencial indexado combina una eficiente capacidad de lotes (es decir, un procesamiento secuencial de los archivos) con una operación de búsqueda que es eficiente, ya que los registros pueden ser accedidos en forma aleatoria en caso necesario. El archivo se crea secuencialmente utilizando las claves de los registros para colocar al archivo en orden, ya sea en forma alfabética o numérica con los números de identificación en forma ascendente. Las secciones de almacenamiento físicas llamadas bloques, se indexan (o indizan) luego.
En la organización secuencial indexada, el índice direcciona a un registro específico en el archivo. Sin embargo, la dirección en el índice normalmente no apunta directamente a la ubicación del registro (si bien esto varía con las implementaciones de los diferentes proveedores) si no al bloque en el cual se encuentra almacenado. La clave del último registro en el bloque (y por lo tanto, el valor más alto de la clave en él) aparece en el índice junto con la dirección del bloque que lo contiene. Si se quisiera encontrar un registro que tuviera un valor de clave de 0242, se haría que el procesador buscara al índice para hallar la primera entrada que tuviera un valor mayor que o igual a 0242. La dirección que correspondiera a esa clave sería el número del bloque que contiene el registro.
En archivos particularmente grandes, el índice puede llegar a ser demasiado largo para ser buscado con eficiencia. En estos casos se requiere formar un índice de los índices. El índice maestro, como se lo llama, contiene la dirección más alta listada en un subíndice en particular. Tales subíndices pueden ser creados para cada uno de los cilindros. Los subíndices a su vez pueden apuntar a índices de más bajo nivel que pertenezcan a un bloque único en el disco. Si un archivo esta almacenado en diez cilindros y cada uno de estos contiene veinte bloques, pueden tenerse tres diferentes niveles de índice: un índice maestro que indica el cilindro donde se encuentra almacenado el registro, un índice de cilindros que señala el grupo de bloques en los cuales el registro ha sido almacenado, y un índice de los bloques que indica el bloque en particular en el cual está el registro. Por lo tanto, para encontrar un registro en particular, se debe efectuar una búsqueda primeramente en el índice maestro; que señalará al siguiente índice de nivel inferior, y así sucesivamente.
El método no secuencial indexado implica el uso de un índice para localizar los registros, pero aquí los registros de los datos no están almacenados de acuerdo con ningún orden o secuencia.(puesto que no hay un ordenamiento en estos registros, a esta clase de organización también se le llama un índice aleatorio). En consecuencia, a los registros no puede accederse sin el uso del índice. Para facilitar el procesamiento de los archivos organizados según el método no secuencial de índices, es necesario un índice mucho mayor, ya que se requiere una entrada para cada uno de los registros del archivo. Las inserciones son fáciles: un nuevo registro simplemente se agrega al final del archivo y se añade al índice. Las supresiones también son fáciles: una entrada se elimina del índice sin dificultad. Puesto que hay más entradas de índices, se requiere de un mayor mantenimiento para ajustar el índice, especialmente si se utilizan múltiples niveles. Los archivos no secuenciales con índices pueden ser procesados en forma secuencial, pero esto es un proceso muy lento ya los índices se deben analizar primeramente para cada uno de los registros.
Modos de acceso
Sea un soporte de información que contiene un archivo se denominan modos de acceso a la forma en que el dispositivo que maneja el soporte se posiciona en un lugar del mismo para realizar una operación de lectura o escritura de un registro. El modo de acceso lo decide el programador de la aplicación en función del soporte utilizado y del tipo de organización. Hay dos modos básicos:
  • Secuencial: supone acceder inicialmente al primer registro del archivo y después consecutivamente a todos los sucesivos, hasta llegar al registro deseado. Este modo de acceso se puede utilizar con cualquier soporte y organización.
  • Directo: solamente se puede realizar en los denominados soportes direccionables como los discos magnéticos y consiste en el posicionamiento sobre cualquier registro sin necesidad de haber accedido antes a la anterior.


¿Cómo se puede definir a las estructuras de archivos?

La estructura de archivos es el nivel más básico de organización. Es una organización impuesta a un archivo para facilitar su procesamiento. Es la combinación de representaciones de datos en archivos y al poseer una estructura de archivos asegura que los  usuarios y programas pueden acceder y escribir a los archivos. Un buen diseño de estructuras de archivos brindará acceso a grandes capacidades de información, sin gastar tiempo de espera por el disco.
El estudio de las estructuras de archivos es necesario ya que la aplicación de las técnicas de estructuras de datos ayuda a resolver  problemas especiales asociados con el almacenamiento y la recuperación de datos en dispositivos de almacenamiento secundario.  El almacenamiento con dispositivos secundario posee ventajas en comparación con la memoria RAM, entre ellas se encuentran:
·         El espacio disponible en el almacenamiento secundario es ilimitado.
·         El almacenamiento secundario es menos costosa y
·         El almacenamiento secundario no es volátil.
Pero su inconveniente de los almacenamientos secundarios es que necesita mucho más tiempo para tener acceso a los datos que en la RAM. Otro inconveniente es el costo de recuperación varía de unas partes de la información a otras; en RAM todos los accesos tienen el mismo costo.