Está en la página 1de 26

Ingeniera en Sistemas Informticos - Informtica III

Temas de Investigacin. Organizacin de Archivos Secuenciales Indexadas. Organizacin de Archivos Multillaves.

Ingeniera en Sistemas Informticos - Informtica III

Planteamiento del Problema. Los archivos en informtica tienen esa denominacin porque son los equivalentes digitales de los archivos en papel o microfichas del entorno de una oficina tradicional. Dentro del desarrollo de software los archivos pueden ser organizados en diferentes estructuras, esto, viendo de forma interna a los archivos; como requisito para entender el funcionamiento y estructura de un archivo dentro del desarrollo de software, el tema presentado ms arriba es de primordial inters.

Ingeniera en Sistemas Informticos - Informtica III

Preguntas de Investigacin. 1. Cmo se define la organizacin de archivos secuenciales indexados? 2. Cul es la aplicacin de la organizacin de archivos secuenciales indexados? 3. En qu consiste la Estructura del rbol B+? 4. Cmo es un archivo secuencial indexado en COBOL? 5. Cmo es el diseo de los archivos secuenciales? 6. En qu consiste la organizacin de archivos multillaves? 7. En qu consiste la organizacin de archivos invertidos? 8. En qu consiste la organizacin de archivos multilista? 9. A qu hacen referencia los archivos indexados con llave alterna?

Ingeniera en Sistemas Informticos - Informtica III

Objetivo General. Analizar la Organizacin de Archivos Secuenciales indexadas y la Organizacin de Archivos Multillaves.

Objetivos Especficos. Definir Organizacin de Archivos Secuenciales Indexadas y Organizacin de Archivos Multillaves. Determinar la aplicacin de los Archivos Secuenciales Indexadas. Indagar sobre la Estructura del rbol B+. Examinar el diseo de los archivos secuenciales. Explorar el funcionamiento de la organizacin de multilistas. archivos invertidos y

Ingeniera en Sistemas Informticos - Informtica III

Introduccin. Un archivo en informtica es un conjunto de bits almacenados en un dispositivo perifrico, ya sea un Disco Duro, CD-ROM o una Memoria USB. Se llaman as porque son los equivalentes en formato digital de los archivos normales de una oficina o similar. Los archivos informticos facilitan en gran manera la organizacin de recursos usados para almacenar permanentemente datos en un sistema informtico. La mayora de los archivos informticos son usados por programas de computadora. Estos programas crean, modifican y borran archivos para su propio uso bajo demanda. Los programadores que crean los programas deciden qu archivos necesitan, cmo se van a usar, y sus nombres. Dentro de la Organizacin de archivos existen diferentes enfoques o formas de organizarlos; en este trabajo prctico estaremos tratando la Organizacin de Archivos Secuenciales Indexados y la Organizacin de Archivos Multillaves, cada uno de las cuales presentan sus caractersticas particulares a la vez de sus ventajas y desventajas en el uso.

Ingeniera en Sistemas Informticos - Informtica III

Organizacin de Archivos Secuenciales Indexados. Archivos Secuenciales indexados Un mtodo popular para superar las desventajas de los archivos secuenciales es el del archivo secuencias indexado. El archivo secuencial indexado mantiene las caractersticas bsicas de los archivos secuenciales: los registros estn organizados en una secuencia basada en un campo. Dos caractersticas se aaden: un ndice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento (overflow). El ndice provee una capacidad de bsqueda para llegar rpidamente a las proximidades de un registro deseado. El archivo de desbordamiento (overflow) es similar al archivo de registro usado en un archivo secuencial, pero est integrado de forma que los registros del archivo de desbordamiento se ubican en la direccin de un puntero desde su registro precedente. En la estructura secuencial indexada ms simple, se usa un solo nivel de indexacin. El ndice, en este caso, es un archivo secuencial simple. Cada registro del archivo ndice tiene dos campos: un campo clave, que es el mismo que el campo clave del archivo principal y un puntero al archivo principal. Para encontrar un campo especfico se busca en el ndice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave. La bsqueda contina en el archivo principal a partir de la posicin indicada por el puntero. Aplicacin. Este tipo de organizacin se utiliza cuando existe la necesidad tanto de acceder a los registros secuencialmente, por algn valor de llave, como de accederlos 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 estn situados en un soporte direccionable por el orden de los valores indicados por la clave.

Ingeniera en Sistemas Informticos - Informtica III

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 estn almacenados en un soporte direccionable segn el orden que indique dicha clave. El archivo ndice agilizar la bsqueda dentro del fichero. El fichero de datos se organiza, lgicamente, en bloques o pginas de varios registros. Cada registro del fichero ndice almacena: El valor del campo clave del ltimo registro de un bloque. Los bloques estn constituidos por un nmero fijo de registros consecutivos. La direccin del primer registro de dicho bloque. Puede haber un rea de desbordamiento. Ocupa ms espacio en disco pero es ms rpido. Puede almacenarse el fichero ndice en memoria. Habra que calcularlo al iniciar una sesin de trabajo. En este tipo de organizacin de archivos se dispone de una tabla en que aparecen ordenados secuencialmente los nmeros de la clave del archivo y asociados a cada uno de ellos de da la direccin del registro correspondiente. Areas del archivo secuencial indexado. rea de Datos: Contiene los registros secuencial, este ordenado alfabticamente o alfanumricamente y no deja espacios. rea de ndice: Los niveles de ndice estn contenidos en una tabla, si existieran varios ndices enlazados se denomina nivel de indexacin rea de Desbordamiento o Excedentes: Esta rea es utilizada para realizar actualizaciones si ello es necesario Ficheros con organizacin secuencial indexada. Un archivo con organizacin secuencial indexada est formado por: AREA DE DATOS: Es el rea en la que se escriben los registros cuando el archivo es creado el en directorio del fichero. Los ficheros con organizacin secuencial indexada se graban en un soporte de almacenamiento directo, en

Ingeniera en Sistemas Informticos - Informtica III

secuencia ascendente, de acuerdo con los valores de la clave y en pginas o bloques de longitud fija. El AREA DE INDICES: 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 ms alto de la clave de cada grupo de registros y un puntero con la direccin del primer registro del grupo. Un AREA DE EXCEDENTES: donde se graban que no tienen sitio en el rea de datos. Los nuevos registros se insertan y quedan enlazados entre s mediante punteros conservando el orden lgico que marca la clave o ndice principal. Del tratamiento de los ndices y punteros se encarga el sistema operativo por lo que no va a crear problemas al usuario cuando maneja este tipo de ficheros. El usuario sabe lo que sucede cuando solicita una consulta de un registro, pero no sabe cmo se realiza internamente esa consulta. CARACTERSTICAS. Las caractersticas ms relevantes de un fichero indexado, son las siguientes:

a) El diseo del registro tiene que tener un campo, o combinacin de campos, que permita identificar cada registro de forma nica, es decir, que no pueda haber dos registros que tengan la misma informacin en l. A este campo se le llama campo clave y es el que va a servir de ndice. Un mismo fichero puede tener ms 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 informacin guardada en sus registros. c) Solamente se puede grabar en un soporte direccionable. Ej.: disco magntico.

Ingeniera en Sistemas Informticos - Informtica III

VENTAJAS E INCONVENIENTES. Las principales 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 actualizacin.

Inconvenientes: 1. Ocupa ms espacio en el disco que los ficheros secunciales, 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 inversin econmica mayor, por la necesidad de programas y, a veces, hardware ms sofisticado.

Estructura y manejo de archivos secuenciales indexados Esta organizacin de archivo permite, al leerse los datos en serie, el acceso secuencial a las reas originales de registro del archivo. Esto se logra leyendo las partes secunciales del archivo. Los registros que se han insertado se encuentran en un rea separada del archivo, semejante al archivo bitcora de transacciones. Se encuentran directamente siguiendo un apuntador proveniente de su registro predecesor. La lectura en serie del archivo combinado se realiza secuencialmente, hasta que se encuentra un apuntador hacia el archivo de derrama; despus se contina en el archivo de derrama hasta que se encuentra un apuntador NULL; luego, se reinicia la lectura del archivo secuencial. Para recuperar un registro especfico se utiliza el ndice. EL INDICE: un ndice consiste en un conjunto de anotaciones, una para cada registro dato, que contienen el valor de un atributo llave para ese registro y un apuntador que permite el acceso inmediato a ese registro. En los grandes
9

Ingeniera en Sistemas Informticos - Informtica III

registros, la anotacin ndice ser considerablemente menor que el mismo registro dato. El ndice siempre se conserva en orden clasificado de acuerdo con su atributo llave, de manera que la bsqueda pueda ser rpida. Los ndices resultan efectivos cuando los archivos son bastante grandes, de manera que el ndice requiere muchos bloques menos. El proceso de bsqueda dentro de un ndice grande se auxilia nuevamente indexando subconjuntos del ndice. Los niveles sucesivamente ms altos del ndice se vuelven cada vez ms pequeos, hasta que reste solamente un ndice pequeo de nivel ms alto, que pueda conservarse en la memoria del ncleo.

Los ndices se han implantado en muchas formas. Una alternativa del manejo por ndices de niveles mltiples consiste en permitir una bsqueda binaria en el archivo ndice. NDICE PRIMARIO: el ndice para un archivo secuencial indexado se basa en el mismo atributo llave que se ha utilizado para determinar la secuencia del archivo mismo. A este ndice primario pueden aplicrsele un cierto nmero de refinamientos. Uno de estos consisten en indexar solamente el primer registro de cada bloque, es decir emplear anclas de bloques; y el otro consiste en conservar la mayor parte del ndice en el mismo cilindro que los registros datos, ndices de cilindro. Anclas de Bloques: la ventaja de los ndices es que permiten el acceso rpido a un bloque de archivo. Los registros individuales en un bloque pueden encontrarse mediante una bsqueda dentro del bloque. Al registro que le corresponde la referencia se le domina punta de ancla, y en el ndice se conserva solamente el valor llave del ancla y el apuntador del bloque. ndices de Cilindro: ya que mucha de la derrama al recuperar un bloque se debe al tiempo de bsqueda necesario para llegar a un determinado cilindro, puede lograrse una reduccin del esfuerzo de bsqueda colocando el subconjunto del ndice de acuerdo con las fronteras del hardware. Para este mtodo comnmente se utiliza un ndice de dos niveles. Habr un ndice maestro que contenga solamente los valores de los atributos llave y las direcciones de la anclas de cilindro. En la pista inicial de cada cilindro
10

Ingeniera en Sistemas Informticos - Informtica III

habr un ndice de cilindros utilizando pistas, bloques o registros como anclas para ese cilindro. No habr retraso de localizacin entre ndices de cilindros y registros datos. RAZON DE ABANICO DE SALIDA DE UN NDICE: un parmetro importante de un ndice es la capacidad de hacer referencia a un bloque de anotaciones del ndice, es decir su abanico de salida. La amplitud y es el cociente del tamao de bloque B y del espacio necesario para cada anotacin, V+P. Y = [B/(V+P)] FORMAS DE LOS INDICES: puede verse que en estas organizaciones de ndices estos son ms anchos que altos. El trmino utilizado para medir el ancho de un rbol fue la razn de abanico de salida y. los rboles anchos tienen menos niveles y proporcionan rpido acceso de recuperacin. El numero de niveles del ndice o altura de un rbol ndice x se calcula en el caso de un archivo secuencial indexado evaluando el crecimiento exponencial.

c = [log g [n/Bfr]] fcil de calcular, como [ln[n/Bfr]ln g] ndice Maestro en el Ncleo: durante el procesamiento es comn otra reduccin del costo de acceso: el ndice maestro que permanece disponible en la memoria del ncleo, una vez que se ha ledo.

DERRAMA: a fin de insertar registros en el archivo, es necesario asignar algn espacio desocupado. Es posible colocar las inserciones en un archivo separado; tambin puede reservarse espacio para inserciones en cada bloque, o guardar espacio en cada cilindro para registros insertados. Un archivo de inserciones separado requiere un acceso separado con derrama de localizacin y latencia en cualquier punto en que tenga que realizarse una insercin. La asignacin de espacio en cada bloque es factible solo si los bloques son grandes y las inserciones estn bien distribuidas. En general este enfoque requiere una asignacin dinmica de espacio. La localizacin de un registro de derrama requerir latencia rotacional, pero no una localizacin. Para insertar un registro puede obtenerse la direccin de cilindro a partir del ndice, haciendo coincidir el valor de la llave atributo del nuevo registro con la anotacin para el predecesor ms cercano. El

11

Ingeniera en Sistemas Informticos - Informtica III

nuevo registro se coloca en la siguiente posicin desocupada en el rea de derrama del cilindro. Enlace a Registros de Derrama: los registros en las reas de derrama debern encontrarse tanto mediante operaciones FETCH (recuperar), como GET_NEXT (obtener el siguiente). El proceso de bsqueda de estos casos comienza en el registro predecesor y contina en los apuntadores. Los apuntadores a los registros de derrama se colocan con los registros predecesores en los bloques primarios de datos. La llave del registro insertado no se conserva ah. Solamente se coloca el apuntador en el archivo secuencial, de manera que una bsqueda de cualquier registro relacionado se dirija el rea de derrama. Este procedimiento evita modificar el ndice para que refleje la insercin, pero agrega el tiempo de lectura de un bloque a cada recuperacin de un registro de derrama. Encadenamiento de Registros de Derrama: con el fin de localizar derramas mltiples se colocan apuntadores en los registros de las reas de derrama. Todos los registros de derrama que empiecen en una fuente se eslabonan en una cadena, posiblemente mediante muchos bloques del rea de derrama. Un nuevo registro se eslabona en la cadena de acuerdo con su valor llave, de manera que s conserve el orden secuencial.

Cuando la recuperacin tenga que atravesar muchos registros de derrama, en un gran nmero de bloques, seguir la cadena para llegar a un registro especfico puede ser en realidad menos eficiente que la simple bsqueda exhaustiva en el rea de derrama. Impulso a Travs: en vez de tener un apuntador de derrama por registro en el archivo de datos, es comn utilizar solamente un apuntador por bloque. Este mtodo conserva la secuencia de llaves en los bloques del archivo primario. Los nuevos registros se insertan despus de su predecesor adecuado; los registros sucesores se impulsan hacia el fin del bloque. Los registros provenientes del fin del bloque primario se impulsan al rea de derrama. Tamao de las reas de Derrama: es necesario dimensionar

cuidadosamente las reas de derrama del cilindro. Si las inserciones se aglomeran en ciertas reas, los cilindros correspondientes necesitaran grandes reas de derrama. Si el sistema proporciona una asignacin de
12

Ingeniera en Sistemas Informticos - Informtica III

espacio de manera que todas las reas de derrama de los cilindros sean del mismo tamao, entonces se desperdiciara mucho espacio en aquellos cilindros que no reciben muchas inserciones. Una posible solucin sera proporcionar un rea secundaria de derrama que se utiliza cuando el rea de derrama de cualquier cilindro se derrama a su vez.

REORGANIZACION: cuando las reas de derrama se derraman a su vez, o antes, es necesaria una organizacin del archivo. Tambin puede necesitarse la reorganizacin cuando, debido a la creacin de largas cadenas, los tiempos de recuperacin o de procesamiento serial se vuelven excesivos. Tal reorganizacin consiste en leer el archivo en la forma en que se utilizara al realizar el procesamiento en serie y escribirlo de nuevo dejando fuera todos los registros que estn marcados como eliminados y escribiendo todos los registros restantes, nuevos y viejos, secuencialmente, en las reas principales del nuevo archivo. Durante este procesamiento los programas de organizacin crearan nuevos ndices con base a los nuevos valores de los puntos ancla. La frecuencia de esta reorganizacin depende de la actividad de insercin dentro del archivo. Empleo de archivos secuenciales indexados. Los archivos secunciales indexados del tipo bsico se encuentran en uso comn en el moderno procesamiento comercial. Se utilizan en forma especial cuando existe la necesidad de conservar archivos actualizados dentro de marcos de tiempo menores que los intervalos del procesamiento factibles con la reorganizacin cclica de archivos secunciales. Debido a que es posible insertar y recuperar registros individuales a travs del ndice, de manera que es necesario un nmero limitado de accesos de bloque, este tipo de archivo es adecuado para el acceso en lnea u orientado a terminales. Esto no es posible con los tipos de archivo de apilo y secuencial. Los archivos secunciales indexados tambin se utilizan comnmente para manejar consultas, con la restriccin de que la consulta deber especificar el atributo llave.

13

Ingeniera en Sistemas Informticos - Informtica III

Todos los archivos secunciales tienen la restriccin de que solamente una llave atributo determina el orden principal del archivo, de manera que los otros valores atributo no son adecuados como argumentos de bsqueda. Estructuras de rbol B +. Esquema.

14

Ingeniera en Sistemas Informticos - Informtica III

Es una de las tcnicas ms populares para instrumentar esta organizacin. El rbol B+ consta de dos partes: la parte ndice que consta de los nodos interiores y el conjunto secuencia que consta de las hojas del rbol. La parte ndice se usa para direccionar la posicin de algn registro en particular, mientras que el acceder secuencialmente a las hojas (conjunto secuencia) podemos tener acceso a todo el archivo en general.

Ahora bien los valores de la llave dentro del ndice solo existen con el propsito de dirigir el acceso al conjunto secuencia. Ahora mostramos el esquema de un rbol B+. La composicin de una hoja es como sigue: Un nodo puede utilizar desde 2 hasta n ligas, ms no podemos manejar una sola, esto quiere decir que si un nodo maneja tres ligas podemos inhabilitar solo una. Manipulacin de un rbol - B+. La insercin de nuevos valores de llave en un rbol B+ se realiza ms o menos de la misma manera como son insertados en un rbol - B clsico. Cuando un nodo hoja es particionado en dos nodos, una copia del valor de llave de menor orden, del nodo que se encuentra a la derecha, es promovida
15

Ingeniera en Sistemas Informticos - Informtica III

para ser el valor de llave separador en el nodo padre. El nuevo nodo tambin debe ser insertado en la lista ligada del conjunto de secuencias. Bsqueda de rboles B+ Una bsqueda directa en un rbol B+ debe terminar en un nodo del conjunto de secuencias. Si existe una llave en el ndice que corresponda a la llave buscada, el apuntador precedente es seguido hasta que, eventualmente, la hoja correcta es alcanzada. No todas las llaves de la parte de ndices necesitan aparecer tambin en el conjunto de secuencias. Una llave pudo haberse eliminado del conjunto secuencias, cuando su correspondiente registro fue suprimido del conjunto de registros, pero la llave pudo haber sido retenida en la parte de ndices del rbol B+, con el propsito de guiar el acceso al conjunto de secuencias. Acceso Secuencial. Una solicitud para accesar datos en orden secuencial es atendida accesando los bloques de datos en orden secuencial. Los bloques de datos son el conjunto de secuencias; son lgicamente consecutivos pero no estn necesariamente fsicamente consecutivos. Esquema Fsico de ndices. Otro mtodo para implantar el concepto de archivo secuencial indexado, consiste en basar la estructura de ndices ms en las caractersticas fsicas de almacenamiento que en la distribucin lgica de valores de las llaves. El ndice puede tener varios niveles, tal como un nivel de ndice de pista. El archivo de datos es generalmente instrumentado como dos archivos: un rea primaria y un rea de sobrecarga. La figura siguiente ilustra este tipo de estructura para el archivo secuencial indexado de datos de animales. Supongamos que cada cilindro del dispositivo de almacenamiento tiene cuatro pistas. Este archivo en particular tiene seis cilindros asignados al rea primaria de datos. La primera pista (nmero 0) de cada cilindro contiene un

16

Ingeniera en Sistemas Informticos - Informtica III

ndice a las llaves de los registros en ese cilindro. Las entradas a este ndice son de la forma: Valor de la llave menor, nmero de pista. Dentro de una pista de datos, los registros son guardados

secuencialmente con base en el valor de la llave. El primer nivel del ndice en el archivo de ndices es llamado ndice maestro. Como se muestra en la figura anterior, las entradas a este ndice son de la forma: Valor de la llave mayor, nmero de cilindro El segundo nivel de ndice es llamado el ndice de cilindro. Este contiene apuntadores al archivo primario de datos y sus entradas tienen la forma: Valor de la llave mayor, nmero de cilindro. Acceso a registros de datos. Cuando se recibe una solicitud de acceso a un registro en particular, digamos el registro con valor de llave Borrego, el ndice maestro es examinado primero. Dado que Borrego precede a Lince, el apuntador desde Lince es seguido hasta el cilindro ndice. Dado que Borrego precede a Elefante, el apuntador desde elefante es seguido hasta la pista 0 del cilindro 1. Dado que Borrego le sigue a Ballena es seguido a la pista 2, la cual es examinada secuencialmente hasta encontrar a Borrego y disponer de l, o hasta determinar que no existe. Una solicitud para accesar los datos en orden secuencial es atendida, accesando los cilindros y pistas del archivo primario de datos, en esa secuencia fsica. Insercin de Registros En el ejemplo anterior el rea primaria de datos fue creada con 40% de espacio libre, con el objetivo de poder realizar inserciones y supresiones del archivo. Las solicitudes: Insertar Ardilla Insertar guila
17

Ingeniera en Sistemas Informticos - Informtica III

Son fciles de lograr. Solamente la pista de datos 1 del cilindro 1 es afectada, por lo que el contenido resultante es el siguiente: La solicitud de insertar armadillo es un poco ms difcil. La bsqueda en la estructura ndice revela que armadillo debera ubicarse en la pista 1, del cilindro 1, pero esta pista est llena. Esta condicin necesita del uso de un rea de sobrecarga de datos en un archivo separado con respecto al rea primaria de datos, pero est apuntada por las entradas en el rea primaria de datos. Archivos Secuenciales indexados en COBOL. ste tipo de organizacin es lo que el comn de los programadores entienden como un verdadero archivo de bases de datos. Aqu ya contamos con uno o varios ndices que mantienen un orden lgico de los datos contenidos independientemente de su posicin relativa dentro del archivo. Lo que sorprender a algunos programadores aqu es que RM/COBOL 85 mantiene esos ndices dentro del propio archivo de datos y no como uno o varios archivos externos. Sobre cmo consigue esto el compilador y su motor de bases de datos internos escapa a los propsitos de este artculo, solo baste decir que para lograrlo usa una tcnica similar a una estructura de rbol dinmica. La ventaja de tener los ndices fsicamente en el mismo archivo que los datos residen en que no se corre el riesgo de perder esa indexacin, de esta forma no se necesita hacer una reindexacin previa al uso del archivo. El o los ndices de un archivo con organizacin secuencial indexada puede ser cualquiera de los campos declarados en el registro aunque con la salvedad de que una vez establecido uno o ms de esos campos estos permanecen fijos, es decir que posteriormente no se pueden usar otros campos adems de los declarados. Esta declaracin se hace en tiempo de edicin haciendo uso de las clusulas que COBOL proporciona para este propsito, como veremos ms adelante. Esto ltimo representa una desventaja respecto a otros mecanismos desindexacin. Es obvio que acceder a un conjunto de registros ordenados por un campo ndice en particular (lo que en la jerga de base de datos relacionales
18

Ingeniera en Sistemas Informticos - Informtica III

se llama "vista") es mucho ms rpido que hacerlo secuencialmente o relativamente, pero como esos campos ndices se establecen al momento de disear la base de datos y una vez creado el o los archivos fsicos ya no se pueden agregar ms o modificarlos ya existentes un programador COBOL debe tener muy en claro qu tipo de vistas necesita extraer de esa base de datos de acuerdo a la aplicacin que est programado. Una aplicacin COBOL con los ndices mal elegidos puede resultar en una aplicacin lenta o directamente intil. Diseo de Archivos Secuenciales. La forma ms comn de estructura de archivo es el archivo secuencial. En este tipo de archivo, un formato fijo es usado para los registros. Todos los registros tienen el mismo tamao, constan del mismo nmero de campos de tamao fijo en un orden particular. Como se conocen la longitud y la posicin de cada campo, solamente los valores de los campos se necesitan almacenarse; el nombre del campo y longitud de cada campo son atributos de la estructura de archivos. Un campo particular, generalmente el primero de cada registro se conoce como el campo clave. El campo clave identifica unvocamente al registro. As, los valores de la clave para registros diferentes son siempre diferentes. Los archivos secuenciales son tpicamente utilizados en aplicaciones de proceso de lotes Y son ptimos para dichas aplicaciones si se procesan todos los registros. La organizacin secuencias de archivos es la nica que es fcil de usar tanto en disco como en cinta. Para las aplicaciones interactivas que incluyen peticione s o

actualizaciones de registros individuales, los archivos secuenciales ofrecen un rendimiento pobre. Normalmente un archivo secuencial se almacena en bloques, en un orden secuencial simple de los registros. La organizacin fsica del archivo en una cinta o disco se corresponde exactamente con la ubicacin lgica del archivo. En este caso, el procedimiento para ubicar los nuevos registros en un
19

Ingeniera en Sistemas Informticos - Informtica III

archivo de pila separado, llamado archivo de registro (log file) o archivo de transacciones. Peridicamente, se realiza una actualizacin por lotes que mezcla el archivo de registro con el archivo maestro para producir un nuevo archivo en secuencia correcta de claves. Mtodo de Diseo basado en la Estructura de Datos. Una estrategia de diseo popular se basa en el anlisis de las estructuras de datos, en lugar del anlisis de los flujos de datos. Esta ha sido desarrollada por Michel Jackson y J.D.Warnier. Esta estrategia se sumariza en las siguientes actividades: Definir las estructuras de datos a ser procesadas. Derivar la estructura del programa basado en la estructura de datos Definir la tarea a ser realizada en trminos de operaciones elementales, y ubicar cada una de dichas operaciones en componentes de la estructura del programa. Implcitamente en el enfoque de la estructura de datos, est presente el hecho de que la mayora de las aplicaciones de EDP trabajan con jerarquas de datos, como por ejemplo: campos dentro de registros de archivos. Por lo tanto, este enfoque desarrolla una jerarqua de mdulos, que en un sentido, es una imagen espejo de la jerarqua de datos asociados con el problema. La siguiente figura representa la estructura de un archivo secuencial simple y la estructura de un programa que imprime dicho archivo. Organizacin de archivos multillave. Acceso multillave Existen numerosas tcnicas, que han sido utilizadas para implantar archivos multillave. La mayora de estos mtodos estn basados en la construccin de ndices para proporcionar acceso directo mediante el valor de las llaves. Existen dos mtodos para proporcionar trayectorias de acceso adicional hacia los archivos de registros de datos:

20

Ingeniera en Sistemas Informticos - Informtica III

La inversin La organizacin multilista.

Muchos compiladores de lenguajes de programacin no proporcionan capacidades preconstruidas para manejar archivos multillave. Ms bien, una agrupacin de procesamiento de datos normalmente adquiere un paquete de manejo de datos. Entonces, los compiladores del lenguaje pueden establecer una interface directa con este manejo de archivos, o pueden generar llamadas a estas rutinas de manejo. Organizacin de archivos invertidos. Conceptos bsicos. Un mtodo fundamental para proporcionar el encadenamiento entre un ndice y los registros del archivo es llamado inversin. Un ndice de inversin de llaves contiene todos los valores que la llave tiene presente en los registros del archivo. Cada uno de los valores de la llave en el ndice de inversin apunta a todos los registros que tienen el valor correspondiente. El archivo de datos se dice que est invertido sobre esa llave. La inversin como enfoque para proporcionar acceso multillave ha sido utilizado como base para las estructuras fsicas de bases de datos en sistemas comerciales disponibles para la administracin de bases de datos, incluyendo varios sistemas relacionales (el DB2 de IBM ek Ingres Relational Technology y Oracle), sistema 2000 de Intel y el Adabas de Software AG. Estos sistemas fueron diseados para proporcionar un rpido acceso a los registros, va tantas llaves de inversin como el diseador quiere identificar. Estn orientados al usuario con lenguajes de consulta de tipo natural para asistir al usuario en la formulacin de consultas. Organizacin de archivos multilista. Otro enfoque bsico para suministrar la conexin entre un ndice y el archivo de registros de datos, se llama organizacin multilista.

21

Ingeniera en Sistemas Informticos - Informtica III

El enfoque de multilista para instrumentar acceso multillave ha sido la base para estructuras fsicas en muchos sistemas de administracin de base de datos jerrquicos y de redes disponibles comercialmente incluyendo la familia de sistemas CODASYL, TOTAL de Cincom, y el IMS de la IBM. Conceptos bsicos Igual que un archivo invertido un archivo multilista mantiene un ndice para cada llave secundaria. Existe una entrada en el ndice de llave secundaria para cada valor que, la llave secundaria, tiene en este momento en el archivo de datos. La organizacin de multilista difiere de la inversin en que, mientras que la entrada en el ndice de inversin para un valor de llave tiene un apuntador a cada registro de datos con ese valor de llave, la entrada en el ndice de multilista para un valor de llave tiene slo un apuntador al primer registro de datos con ese valor de llave. Este registro de datos contiene un apuntador al siguiente registro de datos con ese valor de llave, y as sucesivamente. Luego hay una lista ligada de registros de datos para cada valor de la llave secundaria. Los encadenamientos en Multilistas normalmente son bidireccionables y ocasionalmente son circulares, para mejorar la eficiencia de actualizacin. Procesamiento. El mtodo de multilista proporciona el mismo tipo de acceso, con llave secundaria, como lo hace el mtodo de inversin, pero el procesamiento de los dos tipos de archivo difiere. Variantes. Dos variantes con respecto a la estructura bsica de multilista son las multilistas de longitud controlada y las estructuras de multilista celular. En un archivo multilista de longitud controlada, una longitud mxima es impuesta a las listas ligadas de registros de datos. Si un valor de llave secundaria lo poseen ms registros de datos de lo que permite la longitud, entonces el valor de la llave aparecer ms de una vez en el ndice y podr haber ms de una lista ligada de registros de datos con ese valor.

22

Ingeniera en Sistemas Informticos - Informtica III

En un archivo multilista celular, las estructuras de la lista estn determinadas en parte, por las caractersticas del almacenamiento. Por ejemplo, una clula puede ser definida como un cilindro, como una pista, o como una pgina. A una lista ligada no se le permite cruzar los lmites de la clula. Si hay registros en tres cilindros que tienen el mismo valor de llave secundaria, entonces habr tres entradas de ndice y tres listas ligadas para ese valor. Esta variante de multilista puede ser til en la reduccin de movimientos de los brazos lectores del disco y de accesos a la E/S. Comparaciones y efectos. Tanto los archivos invertidos como los multilistas tienen: Un ndice para cada llave secundaria. Una entrada de ndice para cada valor distinto de la llave secundaria.

En cualquiera de las dos organizaciones de archivo: El ndice puede ser tabular o estructurado como rbol. Las entradas de un ndice pueden o no, ordenarse. Los apuntadores a los registros de datos pueden ser directos o indirectos. Los ndices difieren en que: Una entrada en un ndice de inversin tiene un apuntador a cada uno de los registros de datos con ese valor. Una entrada en un ndice multilista tiene un apuntador al primer registro de datos con ese valor. As un ndice de inversin puede tener entradas de longitud variable, mientras que en un ndice multilista tiene entradas de longitud fija. En cualquiera de las dos organizaciones: Los apuntadores a registros de datos para un valor de llave pueden, o no, aparecer ordenados. Mantener las entradas ordenadas introduce una sobrecarga.

23

Ingeniera en Sistemas Informticos - Informtica III

El archivo de datos: No es afectado al tener un ndice de inversin sobre l. Debe contener las listas ligadas de registros con valores idnticos de la llave secundaria, en la estructura multilista. Algunas de las implicaciones de estas diferencias son las siguientes: El manejo de ndices es ms fcil con el mtodo de multilista, porque las entradas son de longitud fija. El mtodo de archivo invertido tiende a exhibir mejor desempeo en la consulta. Muchos tipos de consulta pueden ser contestados accesando los ndices de inversin, sin la necesidad de accesar los registros de datos, dando una reduccin en los requerimientos de acceso de E/S. La inversin de un archivo puede ser transparente para el programador que accesa ese archivo cuando se usa los ndices de inversin. Mientras que en una estructura multilista afecta el formato del registro del archivo. Los apuntadores de la multilista pueden hacerse transparentes para el programador, si el administrador de los datos los hace disponibles para el uso del programador y los almacena al final de cada registro. Adicionalmente, la estructura multilista ha probado ser de utilidad para ligar diferentes tipos de registros, proporcionando en consecuencia trayectorias de acceso basadas en relaciones lgicas. Es tambin posible proporcionar mltiples ordenamientos para una sola coleccin de datos, ligando los registros en orden de varias llaves. La estructuracin de datos y la organizacin de archivos son dos factores importantes para la determinacin del desempeo de un sistema. El programador de sistemas y el programador de aplicaciones deben disear las estructuras apropiadas para adecuarse a los requerimientos de procesamiento de datos. Los datos necesitan ser manejados para la vida de un programa en particular y tambin para que sean ms permanentes.

24

Ingeniera en Sistemas Informticos - Informtica III

Conclusin. Como se especific ms arriba en la introduccin, los archivos en informtica son conjuntos de bits almacenados en un dispositivo perifrico, ya sea un Disco Duro, CD-ROM o una Memoria USB. Son los equivalentes en formato digital de los archivos en papel o similares que conocemos. En forma bsica hay dos enfoques para organizar los archivos, una es el enfoque de acceso secuencial que se refiere al procesamiento de los archivos de acuerdo con un orden especfico. Ejemplo, archivos secuenciales y de texto. La segunda es el enfoque de acceso Directo que permite recuperar registros individuales sin leer otros registros del archivo, ejemplos archivos indizados. Como objetivo del nuestro trabajo se estudian dos Organizaciones de archivos que son variaciones de los enfoques bsicos. El primero de ellos es el archivo secuencial indexado, que mantiene las caractersticas bsicas de los archivos secuenciales, como tal los registros estn organizados en una secuencia basada en un campo; pero, se aaden un ndice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. Este tipo de organizacin se utiliza cuando existe la necesidad tanto de acceder a los registros secuencialmente, por algn valor de llave, como de accederlos individualmente. El segundo es la Organizacin de Archivos Multillaves, que en su mayor parte estn basados en la construccin de ndices para proporcionar acceso directo mediante el valor de las llaves. Un punto importante dentro de esta Organizacin de archivo es el manejo de dos enfoques para obtener accesos multillaves las cuales son el enfoque de multilista y la inversin; que se explican en forma bsica en el trabajo.

25

Ingeniera en Sistemas Informticos - Informtica III

Bibliografa. Fuente Internet. http://www.monografias.com/trabajos6/sistar/sistar.shtml http://boards4.melodysoft.com/.../archivos-secuenciales-indexados-6.html http://www.mitecnologico.com/Main/O...SobreArchivoSecuencialIndexado http://www.reocities.com/seminarioittepic/unidadviii/ http://boards4.melodysoft.com/2005AAA0608/acceso-multillave-5.html

26

También podría gustarte