You are on page 1of 16
ESCUELA DE PREPARACION DE OPOSITORES ERO: Cl. La Merced, 8 ~ Bajo A Telf.: 968 24 85 54 30001 MURCIA INF13 - SAI13 Ficheros. Tipos. Caracteristicas. Organizacions Esquema. 1 INTRODUCCIOF 2 CONCEPTOS BASICOS. 2.1 ALMACENAMIENTO DEA INFORMACION, Sea 22 ELGESTORDEFICHEROS aac 233 RENDIMIERTODE LA TRANSFERENCIA DE LANFORMACION 3. TIPOSDE ARCHIVOS. 3.1 ARCHIVOS PERMANENTE... ae 32. ARcuIvos TEMPORALES. 4 ORGANIZACION DE ARCHIVOS... 4.1 ORGANIZACIONES CONSECUTIVAS. 5 42. ORGAMIZACIONES DIRECCIONADAS. 42:1 Métoos de dveccionamiento ‘Decssondas dea. Durcceordas disper 4.22 gris de direccionamion Dicocomamite dro = Dieseonamiero soci = Dicom ele (hashing. 43. ORGANZACIONES INDEXADAS. 5 “43:1 Arohivas de indies de bol B™ 2 Exacta debt DY “Orgninacion de rhe con eon 4412 drohivas de indies de rol 8 2 5 CONCLUSIONES.. 1 Introduccién. Los sistemas informéticos requieren, para la manipulacién de Ia informacté que ésta se encuentre previamente almacenada en alguno de los dispositivos de almacenamiento que estos sistemas reconocen. Si esta informacin puede ser obtenida ‘en tiempo de computacién, bien mediante un calculo operacional, o bien mediante la entrada desde un terminal de entrada/salida y, este proceso tiene un bajo coste computacional y, ademis, puede ser reproducido, este informacién puede ser almacenada cn la memoria central de In computadora con el conocimiento de que ser perdids una vez el proceso que manipula esa informacion abandone la memoria central de la computadora. Escuela de Preparacién de Oposiores EPO. v02 INFI3 —SAII3.Pigina 2 Pero son muy pacos los problemas en los que el dominio de la informacién satisface estas caracteristicas. En la mayoria de los casos el volumen de informacion es tan elevado, 0 los procesos de cémputo, para obtenerla son tan costosos, que el alimentar a los procesos de manipulacién de esa informacién con ésta en cada una de sus ejecuciones resulta algo inconcebible, Es en estos casos cuando el usuario de los sistemas informaticos requiere de los ficheros para el almacenamiento de la informacién ue forma parte del dominio del problema que esté tratando con un sistema informitico. Un fichero es una agregacion de datos estructurados que es vist por el sistema coperativo de le computadora como un todo, como una unidad estructural sobre la cual se pueden realizar una serie de operaciones dependiendo del dispositive fisico en el cual se encuenire y dela propia estructura interna de los datos en el mismo. El conjunto de datos que forman parte de los ficheros se agrupan en unidades denominadas registros cuya funcién es representar a unidades de informacion del problema que se esta tratando, El némero y estructura de los datos que forman parte de los registros es determinado en la fase de anélisis y disefto légico del problema, ‘mientras que la disposicién de los registros y los datos en los ficheros (su estructura) es Registro fisico, En un bloque se contienen varios registros fisieos por bloque; se denominan registros expandidos. + Registro l6gico = Registro fisico. El factor de bloqueo es 1 y se dice que los rogistros no estin bloqueados. egisro EAA Espacio ene blues Toe + Registro logico < Registro fisico. El factor de bloqueo es mayor que 1 y los registros estin blogueados. Repisvot | Registro2 | Regios | Registro E54 Espacio entre bioques ro Bloque LLa importancia del factor de bloqueo se puede apreciar mejor con un ejemplo, Supongamos que se tienen dos ficheros. Uno de ellos tiene un factor de bloqueo de 1 (un registro en cada bloque). Fl otro fichero tiene un factor de bloqueo de 10 (10 registros/bloque). Si cada fichero contiene un millén de registros, el segundo fichero requetira 900,000 operaciones de entrada/salida menos para leer todos los registros. Un factor de bloqueo mayor que 1 siempre mejora el rendimiento; entonces, por qué no incluir todos Tos registros en un solo bloque? La razén reside en que el ‘aumento del bloque implica el aumento de Ia memoria intermedia y por consiguiente se reduce el tamatio de la memoria central Memaria central Programe Flujo de datos Almacenemionto ae = 3 Tipos de archivos. En una aplicacién informatica se pueden utilizar archivos para realizar funciones diversas. Conocer la funcién que va a desempefiar un archivo conereto es fundamental a li hora de decidir como se debe orgonizar éstc. Podemos clasificar os archivos como archivos permanentes y archivos temporales, 3.1 Archivos permanentes. Un archivo permanente contiene informacién relevante para una aplicacién, es decir, los datos necesarios para el funcionamiento de la misma. Su vida es larga (al ‘menos comparable a la de la aplicacién para la que ha sido creado) y generalmente no puede generarse de una forma inmediata a partir de otros archivos. Escuela de Preparacin de Opositorss EPO. v02 INFI3 SAII3.Pigina5 Los archivos permanentes se pueden clasificar en: + Archivos maestros. Un archivo maestro contiene el estado actual de los datos susceptibles de ser modificados en la aplicacién. Es el niieleo central de Ia aplicacién, Todos los procesos estin, en general, orientados a actualizar el archivo maestro 0 a obtener resultados de él. Un ejemplo de este tipo de archivo es el archivo de clientes de un banco, en el que los registros contienen informacién de identifieacién de clientes, su saldo en cuenta, etc. + Archivos constantes. Un archivo constante es aquel que contiene datos fijos para la aplicacién. En él las modificaciones son infrecuentes, normalmente se accede a é] s6lo para consultar. Sern archivos constantes los que ccontengan los intereses para distintos pos de cuentas bancarias, la ubicacién, de estantes en una biblioteca, la capacidad de las aulas de un centro, una tabla de mimeros primos, ete. ‘+ Archivos historicos. Un archivo histérico es aquel que contiene datos que fueron actuales en tiempos anteriores, Se conservan para poder reconstrui la situacién actual o situaciones anteriores. En algunos casos puede estar formado simplemente por los registros borados del archivo maestro. Un archivo historico puede contener, por ejemplo, los clientes que se han dado ‘de baja en una entidad bancaria. 3.2 Archivos temporales. Un archivo temporal contiene informacién relevante para un determinado proceso 0 programa, pero no para el conjunto de la aplicacion, Se genera a partir de los datos de archivos permanentes © para actualizar éstos, y su vida es generalmente muy conta, Los archivos temporales se pueden clasificar en: + Archives intermedios. Se utilizan para almacenar resultados de un programa ‘que han de serutilizados por otto, dentro de una misma tarea. + Archivos de maniobras, Se utilizan para almacenar datos propios de un Programa que éste no puede conservar en memoria principal, por falta de espacio en ésta. Se encuentran normalmente en programas de célculo numérico, compiladores y editores. Su vide es siempre menor que el tiempo de ejecucién del programa, + Archivos de resultados. Se utilizan para elmacenar datos elaborados que van ‘ser transferidos a un dispositivo de salida, como por ejemplo un archive de impresin, que contiene datos que van a ser transferidos a una impresora, 4 Organizacién de archivos. La organizacién de un fichero determina el modo de estructurar Jos registros pertenecientes a un fichero en almacenamiento secundario. Los métodos de acceso nos permitirén localizar dichos registros. La eleccién de una determinade organizacién permitiré realizar distintos tipos de acceso a los registros del fichero y, viceversa, si se desea acceder a un registro 0 conjunto de registros de una determinada forma, se deberd clegir una organizacién adecuada para ello, La organizacisin de los ficheros y los métodos de acceso repercuten fuertemente «en los tiempos de respuesta, Los métodos basicos de acceso son los siguientes: Escuela de Preparacién de Oposiores EPO. v02 INFI3 —SAII3. Pagina 6 + Acceso secuencial. Para localizar un registro se necesita haber accedido al registro anterior. Puede resultar el modo de acceso més eficiente cuando se tiene que procesar el fichero completo (0 un porcentaje del mismo). + Acceso directo, Se localiza un registro por su direccién, obtenida a partir del valor de una clave de direecionamiento o por Ia posicién relativa que ocupa el registro en el fichero, La eleccién del tipo de organizacion depende de tes factores: 1, Del tipo de proceso: Mis coneretamente del tipo de acceso requeride {Gecuencialo direct) y de si las operaciones que se realizan enelfichero son de recuperacién o de actualizacion 2. De los factores que se desean optimizar: Estos factores son diversos y estin ‘muy relacionados entre si, pero podemos enumerar los siguientes: espacio de almacenamiento, tiempos de respuesta, accesos a disco, ete 3. De las caracteristicas del fichero: Es decir, si el fichero tiene gran volumen 0 no, si su crecimiento serd répido, si se eliminarén muchos registros, etc. En Acinitiva, tamaio, volatlidad y crecimiento, principalmente, 4.1 Organizaciones consecutivas. Las organizaciones consecutivas sittian los registros fisicamente une 2 ccontinuacion de otro. Si la colocacién de los registros no tiene un orden l6gico, el tipo de organizacién se denomina consecutiva serial; si, por el contrario, tienen un orden, segiin una clave de ordenacién, se denomina consecutiva secuencial El método de acceso que se utiliza para localizar Ios registros almacenados es ¢! sccuencial si la organizacién es serial; si es sccuencial puede utilizarse, ademés, un acceso directo por posicién relativa del registra (busqueda binaria 0 dicotémica). Es adecuada para recuperar ficheros en procesos por lotes, pues optimiza al maximo el espacio de slmacenamiento, es muy ficil de programar, puede utilizar rogistros de longitud variable y heterogéneos, y no esté limitada al tipo de soporte directo. Es conveniente utilizar este tipo de organizacién cuando existe una carga rasiva de datos, las tablas son pequefias, o cuando, en el proceso del fichero se accede normalmente a casi todas Ins fila. Esta es la nica organizacién de archivos susceptible de ser gestionada en un ispositivo no direccionable (soportes secuenciales tales como cinta magnética, cinta de papel o tarjeta perforada). La secuencia en que uparecen los registros en el archivo puede estar determinada por el valor de algtin campo o ser simplemente temporal. Si el archivo se encuentra sobre un soporte direccionable (disco por ejemplo) es posible almacenar junto a cada registro un puntero con la direccién del registro siguiente, sogiin el orden l6gico del archivo. Estructuralmente un archivo secuencial ‘eneadenado es equivalente @ una lista lineal de registros. scvele de Prepurain de Opositres E.P.0. x02 ‘vars oli rece 5 Femanco o Esteban ? Eusuquo | Si In longitud de los registros es mucho menor que el tamafio del bloque del dispositivo (factor de blocaje mayor que uno), en cada acceso a disco se podrin leer © escribir varios registro. Si en cada nodo de la cadena hay un solo registro se ralentiza cl acceso, ya que la lectura de cada registro implicaré un acceso al dispositivo. Para reducit el tiempo de acceso se deben almacenar en cada logue tantos registros come sea posible, encadenando los bloques, en lugar de encadenar los registros. Los registros contenidos en cada bloque ser consecutivos segiin el orden ldgico del archivo. 42 Organizaciones direccionadas. Este tipo de organizacién almacena los registros segiin una relacién establecida centre el valor de la clave de direccionamiento y la direccién fisica del registro, siendo posible realizar un acceso directo a un registro si se conoce la clave de direccionamicnto, aunque puede impedir (0 al menos dificultar) el acceso secuencial, La ubjeacién de un registro se determinaré aplicando un algoritmo de transformacién a la clave de direccionamiento, lo que dard como resultado la direceién base donde se deberia almacenar dicho registro. La direccion base estara comprendida dentro de un rango de valores, que representan las direcciones relativas, denominado espacio de direccionamiento, cl cual se fija previamente en funcién del volumen de datos que hay que almacenar. La organizacién direccionada resulta muy adecuada en procesos de tipo selectivo donde hay que acceder a un registro por el valor de la clave de direccionamiento 0 por un rango de la misma, 42.1 Métodos de direccionamiento. Dentro de este tipo de organizacién se puede distinguir entre organizaciones direccionadas direcias y dispersas, Direccionadas divectas. La funcién de transformacién en esta organizacién es 1:1, lo que implica que no puede dar direcciones base repetidas: ademés, la clave de direecionamiento y el algoritmo de transformacin deben ser tales que las direcciones obtenidas han de estar comprendidas dentro de un espacio de direccionamiento fijado de antemano. La clave de direccionamiento no podr tener, por tanto, valores repetidos. Las ventajas de utilizar este tipo de organizacién es que los registros siempre estan ordenados por la clave de direccionamiento, estando los registros situados en direcciones contiguas, por lo que el acceso puede ser secuencial ordenado, ademés de directo. Todo registro ocupa su direccion base, lo que permite que, mediante un solo ‘acceso a memoria secundaria, localicemos un registro, El inconveniente que tiene la utilizacién de este tipo de orgonizacion es que las exigencias de In clave de [Escuela de Proparaciin de Opositors EP: w: INFI3 _SAII3. Pagina 8 ireccionamiento son muy restrictivas, por lo que suele ser muy dificil encontrar una clave con estas caracteristicas. Direecionadas dispersas. Las organizaciones direccionadas dispersas utilizan una funcidn de transformacién n:1, 10 que significa que para distintas claves de direccionamiento podemos tener 1a misma diteccién base, produciéndose entouces una colisién. Estos registros se denominan sindnimos, Para este tipo de organizaciones debemos tomar las siguientes decisiones: 1, El tamaiio del bloque o registro fisico en el espacio de direccionamiento, Si €l tamaio de blogue es uno el direocionamiento es a registro y si por el ccontrario es mayor que uno, el direccionamiento es a cubo. 2. Fijar un espacio de direcciones, considerando que no puede haber una densidad de registros mayor del 80%. Donde la densidad es se define como n° registros del fichero / espacio de direccionamiento 3. Elegir un algoritmo de transformacién que obtenga las direcciones base dentro del espacio de direccionamiento que disperse las registros de forma uniforme, a fin de minimizar los sinénimos (si el direccionamiento es registro) u optimizar su distribucién en el caso de direccionamiento a cubo. 4, Utilizar elguna téeniea de gestién de desbordamientos. Un desbordamiento se produce cuando la direccién base de un registro 0 el cubo al que estaba asignado estén ocupados; por tanto, debemos pensar en Iz nueva ubicacién de este registro excedentario. Hay dos formas de resolver el problema de los singnimos, siempte a costa de complicar la estructure del archivo: Cuando se asocia a una clave una direccién ya ocupada por un registro distinto (esto es, por un sinénimo de esta llave), se busca en el archivo hasta encontrar una posicién libre donde escribir l registro. ‘+ Se reserva una zona de desbordamientos donde se escribirén los registros ‘que no se pueden escribir en la posicién que les corresponde segiin la ‘ransformacién, a la que denominaremos zona principal. Si se utiliza el primer procedimiento, la bisqueda de una posicién libre puede realizarse secuencialmente a partir de la posicidn asignada, o aplicando a la direceién obtenida un segundo método de direecionamiento. En cualquier caso, ambos procedimientos son lenfos y degradan considerablemente el archivo, Si se utiliza zona de desbordamientos se puede gestionar ésta, bien secuencialmente o bien encadenada a 1a zona principal. Esto dhimo presenta cl inconveniente de tener que reservar un puntero en cada registro, pero permite un acceso més rapido a los sinénimos, 1o que en general seri mis importante que el espacio. 422. Algoritmos de direccionamiento. Hay tres métodos bésicos de direccionamaiento para los archivos de organizacién directa: Directo, Se utitiza como direccién la propia llave. enela de Preparaciin de Opentores P.O. wd INFI3_SAII3.Pigina 9 + Asociado. A cada llave se le asocia una direccién mediante una tabla, + Caleulado o por transformacién de lave. La direccién se obtiene realizando ‘operaciones y transformaciones con la llave. A continuacién se describen brevemente estos tres tipos de direccionamientos para archivos de organizacién directa. Direccionamienio directo. El direccionamiento directo solo es factible cuando la clave es numérica y su rango de valores no es mayor que el rango de direcciones en el archivo. Se utiliza como direccién la propia clave. En algunos casos pueden quedar lagunas de direcciones sin utilizar, en lugares cconocidos de antemano. En este caso se pueden ocupar dichas direcciones desplazando las direceiones superiores. Un archivo aleatorio con direccionamiento directo esti siempre ordenado. Direceionamiento asociado, El direccionamiento asociado se puede utitizar para cualquier tipo de clave. Si se utiliza este método debe construirse una tabla en la que figurarin todas las claves y la direccién donde se encuentra el registro correspondiente. ‘Al afladir nuevos registtos las claves se colocan al final de la tabla. Esta se encontrar normalmente desordenada. Por tanto, babré que localizar las claves en ella por lectura secuencial, Io que ralentiza el acceso, al menos que la tabla esté residiendo fen la memoria principal, se indexe o se ordene y se busque en ella Ia clave con un procedimiento rapido, tal como el de bisqueda dicotémica. Direccionamiento caleulado (hashing) En el direccionamiento calculado (hashing) la direccién de cada registro se obtiene, © bien evaluando una expresién que utiliza como dato la lave, o bien realizando una transformacién sobre dicha clave. Se utiliza cuando la llave no es numérica 0, siendo numérica, cuando puede tomar valores dentro de un conjunto demasiado grande como para poder ser utilizada directamente como direccién, ‘Cualquiera que sea la transformacién usada es normal que aparezcan sinénimos, si bien la frecuencia con que éstos aparecerdn dependerd en cada caso concreto del algoritmo de transformacién utilizado. Si In clave no es numérica se utilizar una conversién previa para obtener un ‘nlimero a partir de ella. Existen gran cantidad de métodos de célculo de direccién. Agut sélo citaremos los més relevantes, + Division, La direccién es el resto de dividir Ia Mave por una constante Normalmente esta constante es el mayor de los nimeros primos menores que el nlimero de posiciones del archivo. + Extraccién, Consiste en utilizar como direccién un grupo de cifras de la lave, contiguas 0 no, Esouela de Proparacisn de Opesitores P.O. vO2 INFI3 - $AI13. Pagina 10 + Blevacién al cuadrado. Se utiliza cuando la representacién numérica de Ia Taye no es muy larga. Consiste en elevar ésta al cuadrado y tomar los digitos ccentrales. + Plegamiento. Se utiliza para llaves muy largas. Se descompone la llave en trozos de cifras contiguas del mismo tamafio y se suman étos. Sobre el rnlimero generado se puede aplicar otro método si es necesari Siempre que deba accederse a una posicién, ya sea para introducir por primera vex un registro o para su consulta 0 modificacion, debe aplicarse la llave el algoritmo de transformacién, 43 Organizaciones indexadas. Sobre las organizaciones bisicas (consecutivas y directas) es posible superponer rmuevas estructuras que consiguen mejorar la eficiencia en el acceso a los registios que ‘cumplan ciertas condiciones de biisqueda; se trata de las organizaciones indexadas. Puede ocurrir también que la estructura indexada esté unida a los dates, de forma que <étos no tengan una organizacién bsica previa @ la construccién del indice. Una estructura de indice se define sobre uno o mas campos de un fichero, amados clave de indexacién; de forma que cada uno de los valores de Ia clave de indexacién se asocia a la direccién del registro al que le corresponde dicho valor. Un valor de la clave de direccionamiento con la direccién asociada constitye una entrada al indice. El acceso al registro de datos se hace por el valor de la clave de indexacién, siendo dicha clave el eriterio de biisqueda en consultas selectivas. La clave de indexacién puede ser un identificador del fichero de datos (indice primaria), o un Conjunto de campos no identificadores (indice secundario). Sobre un mismo fichero de datos se pueden definir varios indices, cada uno sobre una clave de indexacién. Cualquier basqueda selectiva de un registro en una ‘organizacién indexada obliga a una consulta previa al indice (la cual proporciona la

You might also like