Anda di halaman 1dari 17

Tema 1

Sistema de Ficheros

1. INTRODUCCIN A LOS FICHEROS DE DATOS


1.1. Conceptos Bsicos 1.2. Diseo de Registros 1.3. Conceptos de Organizacin y Modos de Acceso 1.4. Algunas consideraciones sobre el hardware 1.5. Operaciones con ficheros 1.6. Tipos de ficheros segn su funcin

2. FICHEROS CON ORGANIZACIN SECUENCIAL


2.1. Caractersticas de la organizacin secuencial 2.2. Ventajas e inconvenientes de la organizacin secuencial. 2.3. Utilizacin de ficheros con organizacin secuencial. 2.4. Variantes de la organizacin secuencial

3. ORGANIZACIN SECUENCIAL INDEXADA


3.1. Caractersticas de la organizacin secuencial-indexada 3.2. Estructura de los ficheros con organizacin secuencial indexada 3.3. Ventajas e inconvenientes de la organizacin secuencial indexada

4. ORGANIZACIN DIRECTA (RAMDOM, ALEATORIA, RELATIVA)


4.1. Caractersticas de la organizacin directa 4.2. Clasificacin de las tcnicas de direccionamiento 4.3. Ventajas e inconvenientes de la organizacin directa

Pgina 1

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

1. INTRODUCCIN A LOS FICHEROS DE DATOS


1.1. Conceptos Bsicos
Podemos definir un fichero informtico como un conjunto de registros, grabados sobre un soporte que pueda ser ledo por el ordenador (cintas, discos).

Para comprender mejor el funcionamiento de los ficheros informticos podemos utilizar un smil de estos. El smil ms comn de los ficheros es el concepto de los archivadores de fichas de cartn. La informacin de cada carpeta o ficha compone un registro, y cada una de las informaciones elementales que contiene la ficha es lo que le llamaremos campo.

Por ejemplo: Consideremos un archivador manual que contiene las fichas con los datos de los empleados de una empresa. Para cada empleado se tiene una ficha que podra tener el formato siguiente:

El registro sera toda la informacin correspondiente a un empleado. El campo sera cada una de las informaciones elementales que se tienen de un empleado como por ejemplo: APELLIDOS, NOMBRE, CATEGORA, ...

Para facilitar la bsqueda de una ficha determinada lo ms normal es tener el fichero clasificado por alguna de las informaciones que aparecen en la ficha y que tienen valores diferentes en los registros. Por ejemplo, en el archivador de empleados podran estar ordenadas alfabticamente por los apellidos, de forma que si queremos buscar la ficha de un empleado bastara con saber sus apellidos y lo buscaramos en la posicin que le corresponda por orden alfabtico. A estos campos que me permiten identificar una ficha y diferenciarla de las dems, facilitando el acceso a una ficha determinada se les conoce con el nombre campo clave. La clave puede estar formada por ms de un campo.

En los ficheros informticos se puede utilizar ms de un campo clave, de forma que una de ellas se considera la clave principal o clave primaria y al resto de las claves se les llama claves secundarias o claves alternativas. Normalmente la clave primaria toma un valor diferente para cada registro, mientras que las claves alternativas pueden tener el mismo valor en ms de un registro.

Pgina 2

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

Como los ficheros suelen ser muy voluminosos solo se pueden llevar a la memoria principal partes de ellos para poder procesarlos. La cantidad de informacin que es transferida entre el soporte en el que se almacena el fichero y la memoria principal del ordenador en una sola operacin de lectura/grabacin recibe el nombre de registro fsico o bloque.

Normalmente en cada operacin de lectura/grabacin se transfieren varios registros del fichero, es decir un bloque suele contener varios registros. Al nmero de registros que entran en un bloque se le conoce con el nombre de factor de blocaje, y a esta operacin de agrupar varios registros en un bloque se le llama

bloqueo de registros.
Es frecuente llamar volumen a los soportes de almacenamiento de datos que utiliza el ordenador, y tambin es normal que dentro de un volumen se puedan almacenar varios ficheros, por lo que se habla de que este sera un volumen multifichero. En algunas ocasiones, los ficheros que se utilizan en grandes empresas son tan grandes que no entran en un nico soporte, y se hace necesario almacenarlos en varios. A estos ficheros se les ficheros multivolumen.

1.2. Diseo de Registros


Como hemos visto, un fichero es un conjunto de registros, y un registro est compuesto, a su vez, por un conjunto de campos. Teniendo en cuenta esto en el diseo de un fichero tiene una gran importancia el: Diseo de los registros que lo forman. Seleccin del soporte de datos ms adecuado para almacenarlo Forma en que se organizan los datos dentro del soporte.

Si observarnos las fichas del archivador de empleados, podemos ver que:

La informacin referida a cada empleado est toda un una ficha (registro). Sobre cada ficha las informaciones (campos) aparecen en un orden, que es el mismo para todas (estructura del registro). Las fichas estn ordenadas por algn criterio, para facilitar la bsqueda de una ficha determinada. Por ejemplo, por los apellidos, o por el DNI (campo clave).

Teniendo en cuenta todo esto, el diseo de un registro consiste en seleccionar, ordenar y definir las caractersticas de los campos que lo forman. Normalmente para representar el diseo de los utilizan unas hojas de diseo, en las que para cada campo se definen:

1. Un nombre que nos permita identificarlo en los programas. 2. La posicin del campo dentro del registro. 3. El tipo de datos que va a contener (numrico, alfabtico, lgico, ...) 4. El tamao del campo en caracteres (s el campo es numrico con decimales, debe indicarse el nmero de decimales que tiene).

Pgina 3

1DAM

Base de Datos

Tema 1 5. La descripcin del contenido del campo, si fuera necesario.

Sistema de Ficheros

Una vez que tenemos claro los campos que van a formar el registro, el mayor problema que se nos plantea es el seleccionar el tamao de cada campo, debido a que la informacin que se va a guardar en un campo no es la misma para todos los registros. Por ejemplo, el campo APELLIDOS del ejemplo guarda los apellidos de los empleados y el tamao de estos no son iguales para todos los empleados, podemos tener desde un DIAZ DIAZ, hasta un RODRIGUEZ DE LA VILLAJOYOSA GARCIA-DOMEQ.

Para solucionar este problema pueden adoptarse varias soluciones:

Definir el campo con el mayor tamao posible, lo que puede suponer un despilfarro de soporte si un registro valor muy largo al resto. Definir el campo con un tamao intermedio y abreviar los valores que sobrepasen ese tamao. Esta solucin es la mas aplicada, y se utilizar siempre que se pueda abreviar la informacin que almacena el campo.

Utilizar campos con longitud variable para cada registro. Esta solucin sera la que mejora aprovecha el soporte, pero su manejo es complicado para el programador que tendra que utilizar tcnicas que le permitan delimitar el comienzo y el final de cada campo de un registro.

1.3. Conceptos de Organizacin y Modos de Acceso


El trmino organizacin de ficheros se aplica a la forma en que se colocan los datos contenidos en los registros sobre el soporte informtico (disco, cinta,..) durante su grabacin.

Existen dos formas bsicas de organizacin de ficheros: secuencial y relativa. En la organizacin secuencial los registros se van grabando unos a continuacin de los otros, en el orden que se van dando de alta, mientras que en la organizacin relativa los registros se graban en las posiciones que les corresponda segn el valor que guarden en el campo clave.

El modo de acceso se refiere al procedimiento que se tiene que seguir para poder situarse en un registro determinado para poder hacer una operacin de lectura o grabacin del mismo. El modo de acceso puede ser secuencial o directo. En el modo de acceso secuencial para llegar a un registro es necesario pasar por todos los anteriores, mientras que en el modo de acceso directo se puede llegar directamente a un registro conociendo nicamente el valor del campo clave. Al modo de acceso directo se puede llegar de varias formas:

La posicin que ocupa el registro dentro del fichero coincide con el contenido de la clave. Calculando la posicin que ocupa el registro en el fichero mediante una transformacin del contenido del campo clave (acceso aleatorio - Hashing).

Pgina 4

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

Mediante el uso de tablas de ndices. La localizacin de un registro se hace buscando en la tabla de ndices el valor del campo clave y obtenemos la posicin en que est grabado el registro dentro del fichero. (acceso indexado - Keyed).

La eleccin de una forma de organizacin determinada est en funcin del tipo de aplicacin que le vamos a dar al fichero. Dos factores influyen directamente en la seleccin, la memoria necesaria para almacenar los datos y la velocidad de acceso a los mismos.

Ejemplo: Un fichero en el que los registros se actualicen todos juntos una vez al mes, y el tiempo necesario para la actualizacin no sea importante, no puede tener la misma organizacin que un fichero que se actualice todos los das varias veces poniendo al da los datos que contienen sus registros y el tiempo empleado para la actualizacin sea el menor posible.

1.4. Algunas consideraciones sobre el hardware

La estructura de datos tipo fichero es una estructura EXTERNA, es decir, que no se almacena en la memoria principal del ordenador, ello es debido a que estas estructuras almacenan, normalmente una gran cantidad de informacin, que se va a utilizar a largo plazo. Los ficheros se almacenan en soportes de informacin que pueden son manejados por dispositivos perifricos del ordenador, que permiten leer y grabar datos en el soporte.

Los soportes ms utilizados para almacenar los ficheros son las cintas magnticas y los discos (magnticos, pticos, o magneto-pticos). Dentro de estos dos tipos de soporte existen en el mercado una gran variedad de modelos.

La diferencia ms importante que nos interesa destacar entre estos dos soportes es que mientras la cinta es un soporte secuencial, es decir, si quiero leer un dato que est en la mitad de la cinta, tengo que leer todo lo que hay hasta llegar a esa posicin. Sin embargo, en el disco el acceso a los datos puede hacerse de forma directa pudiendo colocamos en la posicin que nos interesa y leer a partir de ella. Esta diferencia es muy similar a la existente entre una cinta de cassete y un disco de msica. En la cinta si quiero escuchar la 3 cancin no me queda mas remedio, que hacer pasar la cinta hasta llegar a esa cancin, pasando por las anteriores. En un disco, si la cancin que me interesa es la 3 solo tengo que colocar la aguja en el lugar en que empieza esta cancin, sin necesidad de que tenga que pasar por las anteriores.

Para poder seleccionar el soporte que ms nos interesa para grabar un fichero tenemos que conocer algunas de sus caractersticas. Para el caso de las cintas y discos magnticos podemos mencionar las caractersticas mnimas que debemos conocer:

Pgina 5

1DAM

Base de Datos

Tema 1 Cinta

Sistema de Ficheros

- Densidad de grabacin = n de bytes por pulgada (bpi) Normalmente la cinta contiene varias pistas, de forma que una densidad de 800 bpi, representa tener grabados 800 caracteres por pulgada, o lo que es lo mismo 315 caracteres por centmetro (1 pulgada = 2,54 centmetros).

- Capacidad bruta = n de bytes que puede almacenar. Se calcula multiplicando la densidad de grabacin (bpi) por su longitud, que suele venir dada en pies (1 pie = 12 pulgadas). Por ejemplo una cinta con una densidad de grabacin de 800 bpi y una longitud de 3.200 pies podr almacenar: capacidad = 3.200 x 12 x 800 = 30.720.000 bytes.

- Velocidad de transferencia = n de bytes que se pasan a la CPU por segundo. Normalmente en la informacin de las cintas viene la velocidad de lectura-escritura en pulgadas por segundo (ips), por lo que es necesario calcular la velocidad de transferencia. Por ejemplo en una cinta con una velocidad de 75 ips con una densidad de grabacin de 800 bpi, tendramos: velocidad de transferencia = 75 ips x 800 bpi = 60.000 bps = 60 Kb/s.

Disco - Capacidad = n de bytes que puede almacenar. Normalmente viene dado en Kbytes, Mbytes, Gigabytes. - Velocidad de transferencia. Es lo mismo que para la cinta cuando la lectura se hace de forma secuencial. Viene expresada en Kb/s. - Tiempo medio de acceso - tiempo medio que se tarda en acceder a un registro. Viene expresado en milisegundos. Ejemplo: 38,4 ms. Normalmente la informacin que va a ser manejada con frecuencia se almacenar en discos, mientras que las cintas se suelen reservar casi exclusivamente para las copias de seguridad.

1.5. Operaciones con ficheros

Las operaciones que se pueden hacer con los ficheros pueden utilizar todos los registros del fichero o solo una parte de ellos. De entre las operaciones que utilizan todos los registros de los ficheros podemos citar las operaciones de:

Creacin - Consiste en la grabacin, por primera vez, sobre un soporte de los registros de un
fichero.

Apertura y cierre - Para poder hacer cualquier operacin con los registros de un fichero tiene que
estar abierto. En el tiempo que no se utilizan los datos que almacena el fichero debe permanecer cerrado para evitar que se deteriore la informacin que almacena. Para empezar a trabajar con los

Pgina 6

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

datos de un fichero la primera operacin que tenemos que hacer es abrirlo, y cuando terminemos de trabajar con l tenemos que cerrarlo.

Borrado - Consiste en la eliminacin de todo el fichero. Esta operacin puede realizarse de dos
formas: prohibiendo de un modo definitivo el acceso al fichero, de modo que no se pueda leer o escribir en l, o bien, destruyendo la informacin referente al fichero que est grabada en el soporte que lo contiene. En el primer caso, el fichero puede ser recuperado.

Ordenacin o clasificacin - Consiste en cambiar el orden en que estn grabados los registros del
fichero en el soporte. Los registros se ordenan segn el contenido de uno o ms campos en forma ascendente o descendente. En el primer caso el primer registro es el que tiene el menor valor en el campo utilizado para clasificar los registros, y en el segundo caso, el primer registro contendr, en el campo utilizado para clasificar los registros, el valor mas alto de todos los registros del fichero.

Duplicado o copiado - Esta operacin consiste en crear un nuevo fichero idntico a uno ya
existente. Esta operacin es muy recomendable realizarla como medida de seguridad, por si algn da se nos estropea un fichero. Si esto ocurriera siempre tendramos la copia para poder recuperarlo.

Fusin o intercalacin - Se denomina tambin mezcla. Consiste en obtener, de dos ficheros


ordenados por un mismo campo y con la misma estructura, otro fichero que contenga todos los registros de ambos y que se mantenga ordenado por el mismo campo.

Particin - Consiste en dividir un fichero en dos o ms, de acuerdo con alguna condicin que han
de cumplir los registros. Adems de estas operaciones en las que se ven afectados todos los registros del fichero se pueden realizar otras operaciones en las que solo se utilicen una parte de los registros. En estas operaciones ser necesario, primero, localizar el registro o los registro con los que queremos trabajar y luego realizar la operacin. Las operaciones mas utilizadas de este tipo son las de: o

Actualizacin o mantenimiento - Esta operacin consiste en mantener actualizados los


datos almacenados en los registros del fichero, tecleando nuevos datos cuando se conocen, modificando datos ya existente o eliminando datos que ya no se necesitan. Las operaciones de actualizacin se conocen con los nombres de:

Altas: Consiste en aadir nuevos registros al fichero. Bajas: Consiste en eliminar registros del fichero, borrando su contenido, o
simplemente, prohibiendo el acceso a los datos que contiene.

Modificaciones: Consiste en cambiar el contenido de uno o ms campos de un


registro del fichero.

Recuperacin - Consiste en acceder a la informacin almacenada en los registros


del fichero para poder ser consultada. Las operaciones de recuperacin ms utilizadas son:

Consultas: Consiste en acceder a uno o varios registros para ver el


contenido de todos sus campos o solo parte de ellos. Normalmente este tipo de operacin da como resultado una salida por pantalla de los datos que queremos consultar.

Pgina 7

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

Listados: Se diferencia de la consulta en la forma, en que se presenta la


informacin que se consulta. En este caso la salida de la informacin ser en papel, por la impresora en forma de lista ordenada.

1.6. Tipos de ficheros segn su funcin

Podemos hacer una clasificacin de los ficheros segn el uso que se les da y el tiempo de vida que van a tener en cuatro grupos:

Ficheros permanentes: Son ficheros de larga vida que van a ser utilizados en ms de un
tratamiento o proceso porque contienen informacin que permanece con el paso del tiempo y que va a ser actualizada, cuando sea necesario, por esos tratamientos.

Dependiendo de la frecuencia con que se actualizan los datos que contiene este tipo de ficheros se pueden clasificar, a su vez, en: o

Ficheros de constantes: Contiene informacin que va a ser consultada con cierta


frecuencia, pero normalmente se producen pocas inclusiones nuevas y pocas eliminaciones de registros. Ejemplo: Un fichero de clientes de una empresa que contenga, para cada cliente, el nombre, domicilio, ...

Ficheros de situacin (o maestros): Contienen informaciones que estn variando con


frecuencia y es necesario mantener al da permanentemente. La frecuencia de actualizacin o puesta al da de estos ficheros es elevada. Ejemplo: Fichero que contiene informacin del estado de las cuentas de los clientes de un banco.

Nota: Los ordenadores actuales permiten que las operaciones de actualizacin de los ficheros maestros y ficheros de situacin se efecten, bien en un proceso "por lotes" (modalidad bath), o bien en "tiempo real" (modalidad interactiva). En la modalidad por lotes se espera a tener un determinado nmero de variaciones, que se van guardando en un fichero que recoge esos movimientos, para actualizar de una vez los datos del fichero maestro o de situacin. La modalidad en tiempo real permite actualizar los datos el fichero en el instante en que se produce la variacin.

Ficheros histricos: Contiene informacin sobre situaciones ya pasadas y que fueron reflejadas,
en su momento, en ficheros de constantes o de situacin, reflejando su evolucin en el tiempo. Ejemplo: Fichero que guarda los movimientos que se produjeron en las cuentas de un banco en 1.991.

Ficheros de movimientos: Estos ficheros tambin se les llama ficheros de transacciones porque
se utilizan para actualizar los ficheros permanentes, almacenando en cada registro una operacin que supone el cambio de alguno de los datos que contiene el fichero permanente. Sus registros tienen que tener al menos un campo en comn con el fichero que van a actualizar que es el que va permitir conocer cual es el registro que hay que modificar.

Pgina 8

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

La vida de estos ficheros suele ser corta ya que cuando se produce la actualizacin del fichero permanente, se destruyen, o se guardan como un histrico.

Ficheros de maniobra, o de trabajo, o temporales: Se utilizan para almacenar provisionalmente


resultados intermedios que sern utilizados posteriormente en el mismo proceso, o en un proceso diferente. La vida de estos ficheros termina en el momento en que finaliza, el proceso para el que fueron creados. Ejemplo: Fichero para preparar el listado de los alumnos repetidores.

Ficheros de control: Son ficheros que contienen informacin que va a controlarla ejecucin de los
programas. Los podemos clasificar en:

Ficheros de parametrizacin: Contienen informacin que al ser leda por los programas
influir en su funcionamiento. Estos ficheros se utilizan para poder adaptar programas o aplicaciones estndar a las necesidades de cada usuario. Ejemplo: Fichero que almacena el nombre de la empresa, formato de los informes, etc.

Ficheros de control de explotacin: Se utilizan para almacenar informacin referente a


la explotacin de un programa. Son informaciones para la llamada contabilidad de explotacin o contabilidad de trabajos con el que se pretende controlar el uso del ordenador y de los programas. Ejemplo: Fichero que contiene informaciones como el nmero de veces que se ejecuta el programa, el tiempo que es utilizado por un usuario, errores que se producen, etc.

2. FICHEROS CON ORGANIZACIN SECUENCIAL


2.1. Caractersticas de la organizacin secuencial

Un fichero con organizacin secuencial es aquel en el que los registros se van grabando uno a continuacin de otro, sobre el soporte informtico, sin dejar huecos en medio.

En este tipo de ficheros existe, por tanto, una correspondencia total entre el orden lgico y el orden fsico, si entendemos por orden lgico el orden en que son dados de alta y recuperados los registros, y por orden

fsico el orden en que estn grabados los registros en el soporte.

Los registros normalmente estarn ordenados por el contenido de uno o ms campos para hacer ms fcil el trabajo de bsqueda, insercin y borrado de registros.

La organizacin secuencial es aconsejable para ficheros con un ndice de utilizacin muy elevado y estables.

Pgina 9

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

2.2. Ventajas e inconvenientes de la organizacin secuencial.


Podemos citar como ventajas: Entre los inconvenientes destacaremos: El nico modo de acceso es el acceso secuencial, por lo que para leer el registro que ocupe la posicin n es necesario leer los n-1 registros anteriores. Esto hace que este tipo de organizacin no sea adecuado para ficheros en los que se necesita procesar frecuentemente registros aislados, es decir que tengan un ndice de utilizacin bajo. No se pueden insertar registros entre los que ya estn grabados. Si tenemos el fichero ordenado por el contenido de un campo y queremos dar de alta un registro, que segn ese orden debera ir entre dos registros que ya existen en el fichero, es necesario copiar todo el fichero en uno nuevo, grabando en el nuevo fichero todos los registros, insertando el registro que se quiere dar de alta en la posicin que le corresponda. Otra posibilidad es ir dando de alta los registros al final del fichero y a continuacin realizar una operacin de reordenacin de todo el fichero. Si el fichero est grabado en un soporte secuencia por ejemplo una cinta magntica, para poder hacer modificaciones o borrado de registros es necesario hacer una copia del fichero en un fichero nuevo. Si el soporte no es secuencial las modificaciones se pueden hacer sobre el mismos registro, y el borrado se puede hacer de forma lgica, es decir, mediante la grabacin de una marca en el registro. Aprovecha al mximo el soporte, al no dejar huecos entre los registros. Rpido acceso al registro siguiente. Por lo que se hace ideal cuando en cada operacin de actualizacin o consulta se van a procesar la mayora de los registros. Se pueden utilizar cualquier tipo de registros: de longitud fija, variable o indefinida. Se pueden grabar en cualquier tipo de soporte, tanto en secuenciales como direccionables. Todos los lenguajes de programacin disponen de instrucciones para trabajar con este tipo de ficheros.

2.3. Utilizacin de ficheros con organizacin secuencial.

En el momento de utilizar los ficheros con organizacin secuencial tenemos que tener en cuenta el soporte sobre el que estn grabados, pues algunas operaciones que se pueden hacer en los soportes direccionables no se pueden hacer en los soportes secuenciales, como pueden ser las modificaciones y borrado lgico de registros. El formato de las instrucciones que nos permiten manejar los datos contenidos en un fichero con organizacin secuencial depender del lenguaje de programacin con el que trabajemos. De forma general podemos resumir las instrucciones empleadas en el manejo de este tipo de ficheros en las siguientes:

Abrir (OPEN) Abrir un fichero para poder trabajar con sus registros. Se puede abrir de tres formas:
o INPUT (I) - Slo para leer registros.
1DAM Base de Datos

Pgina 10

Tema 1 o o o OUTPUT (0) - Slo para escribir registros. INPUT-OUPUT (I-O) - Para leer y escribir. EXTEND (E) - Para aadir registros al final del fichero.

Sistema de Ficheros

Cerrar (CLOSE) Cerrar el fichero, cuando ya no se va trabajar mas con sus registros.
o

Leer (READ) Pasar la informacin de un registro a la memoria principal del ordenador para
que el programa pueda trabajar con los datos que contiene. Cada vez que se da una orden de leer se lee el siguiente registro.

Escribir (WRITE) Graba en el soporte la informacin de un registro con la informacin que


tenga en la memoria principal.

Reescribir (REWRITE) Graba sobre un registro que ya existe en el fichero. Antes de utilizar
esta instruccin se tiene que leer antes el registro que se va a reescribir con una orden de leer (READ). Para poder utilizar los datos del fichero el sistema operativo utiliza un indicador,

o puntero, que se coloca sealando al primer registro de datos del fichero, cuando se da la orden de Abrir (OPEN), y se va desplazando, siempre en la misma direccin, cada vez que se lee o graba un registro. La estructura del fichero se completa con un registro de cabecera que contiene informacin acerca del fichero y un registro que sirve de marca de final de fichero, o EOF (EOF - End Of File), que el sistema utiliza para saber cual es el ltimo registro del fichero. El registro de final de fichero (E.O.F.) se graba, por primera vez en el momento de la creacin del fichero y se va desplazando cuando se aaden nuevos registros al final del mismo.

2.4. Variantes de la organizacin secuencial

Con el fin de mejorar las prestaciones de la organizacin secuencial surgen una serie de organizaciones que son una variante de esta y que pueden ser utilizados con soportes direccionables. Las mas empleadas son:

a) La organizacin secuencial indexada, en la que los registros con los datos se graban en un fichero secuencialmente, pero se pueden recuperar con acceso directo gracias a la utilizacin de un fichero adicional, llamado de ndices, que contiene informacin de la posicin que ocupa cada registro en el fichero de datos.

b) La organizacin secuencial encadenada, que nos permite tener los registro ordenados segn un orden lgico diferente del orden fsico en el que estn grabados gracias a la utilizacin de unos campos adicionales llamados punteros.

3. ORGANIZACIN SECUENCIAL INDEXADA


Pgina 11 1DAM Base de Datos

Tema 1

Sistema de Ficheros

3.1. Caractersticas de la organizacin secuencial-indexada

A los ficheros con este tipo de organizacin se les llama, tambin, ficheros indexados, por que se basa en la utilizacin de ndices, que permiten el acceso a un registro del fichero de forma directa, sin tener que leer los anteriores. Estos ndices son similares a los de los libros. Si nos interesa leer un captulo concreto podemos recurrir al ndice que nos dice en que pgina comienza, y abrimos el libro por esa pgina, sin tener que mirar en todas las pginas anteriores para localizarlo.

Las caractersticas ms relevantes de un fichero indexado, son las siguientes:

1. 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 as servir de ndice. Un mismo fichero puede tener mas 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.

2. Permiten utilizar el modo de acceso secuencial y el modo de acceso directo para leer la informacin guardada en sus registros.

El modo de acceso directo se hace conociendo el contenido del campo clave del registro que queremos localizar. Con esa informacin el sistema operativo puede consultar el ndice y conocer la posicin del registro dentro del fichero. En el modo de acceso secuencial los registros son ledos ordenados por el contenido del campo clave, independientemente del orden en que se fueron grabando (El orden lgico no es igual al orden fsico), debido a que el acceso a los datos se hace a travs del ndice, que para hacer ms fcil la bsqueda de los registros permanece siempre ordenado por el campo clave.

3. Solamente se puede grabar en un soporte direccionable. Ej.: disco magntico. Si esto no fuera as no podra emplear el acceso directo.

3.2. Estructura de los ficheros con organizacin secuencial indexada.

Un archivo con organizacin secuencial indexada est formado por:

El archivo secuencial o AREA DE DATOS: Es el rea en la que se escriben los registros cuando el archivo es creado el fichero. Los registros de un fichero con organizacin secuencial-indexada se graban en un soporte de almacenamiento directo, en secuencia ascendente, de acuerdo con los valores de la clave y en pginas o bloques de longitud fija.

Pgina 12

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

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.

AREA DE EXCEDENTES (o de overflow) donde se graban los registros 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 como se realiza internamente esa consulta.

3.3. Ventajas e inconvenientes de la organizacin secuencial indexada

La organizacin secuencial indexada permite el acceso directo a los registros, sin los inconvenientes de la existencia de huecos como en la organizacin directa, y el tratamiento secuencial de los registros, propio de la organizacin secuencial.

Esta organizacin es muy utilizada, tanto para procesos en los que intervienen pocos registros como para aquellos en los que se maneja el fichero completo.

Las principales ventajas:

Permite el acceso secuencial. Esto es muy interesante cuando la tasa de actividad es alta. En el acceso secuencial, adems, los registros se leen ordenados por el campo clave.

Permite el acceso directo a los registros. Realmente emula el acceso directo, empleando para ello las tablas de ndices. Primero busca la clave en el rea de ndices y luego va a leer al rea de datos en la direccin que le indica la tabla.

Se pueden actualizar los registros en el mismo fichero, sin necesidad de crear un fichero nuevo de copia en el proceso de actualizacin. Permite tanto el PROCESO POR LOTES (procesos en diferido que hay que preparar previamente) como el PROCESO EN TIEMPO REAL (las actualizaciones de la informacin se llevan a cabo en el momento en que se producen).

Inconvenientes:
Pgina 13 1DAM Base de Datos

Tema 1

Sistema de Ficheros

Ocupa mas espacio en el disco que los ficheros secuenciales, debido al uso del rea de ndices. 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. Requiere una reorganizacin peridica.

Solo se puede utilizar soportes direccionables. Obliga a una inversin econmica mayor, por la necesidad de programas y, a veces, hardware mas sofisticado.

4. ORGANIZACIN DIRECTA (RAMDOM, ALEATORIA, RELATIVA)


4.1. Caractersticas de la organizacin directa

La organizacin directa est basada en la independencia entre el orden en que se dan de alta los registros y la posicin en la que se graban en el soporte. La posicin en la que se graban los registros est en funcin de la informacin que tenga el campo clave del registro. En esta organizacin el espacio total disponible para el fichero se divide en celdas destinadas cada una de ellas a contener un registro y slo uno. Las celdas estn numeradas correlativamente y se puede acceder al contenido de un registro, de forma directa, si conocemos la direccin relativa de la celda en la que est grabado. Esta organizacin slo es posible en soportes direccionables, pues el acceso a los registros se hace sin necesidad de leer los anteriores. Es la organizacin que tienen un menor tiempo de acceso a un registro, en acceso directo. Se usan cuando el acceso a los datos de un registro se hace siempre empleando la misma clave y la velocidad de acceso a un registro es lo que ms nos importa.

Como queda dicho para poder localizar un registro es necesario conocer el valor de la clave. A las tcnicas utilizadas para convertir el valor de la clave de un registro C, en la direccin relativa de la celda del fichero en que va a estar grabado D se le llama tcnicas de direccionamiento. El elegir una buena tcnica de direccionamiento es fundamental en este tipo de organizacin.

A la hora de elegir una tcnica de direccionamiento debemos pedirle:

Que sea fcil de aplicar. Tenemos que tener en cuenta que en esta organizacin es el usuario el que se encarga de calcular la posicin en la que se van a guardar los registros y no como en los ficheros indexados que era el sistema operativo el que se encargaba de esto.

Que deje el menor nmero de huecos posible. Se debe procurar que el mtodo seleccionado nos proporcione valores entre 1 y n, siendo n el nmero de celdas que tiene el fichero, sin dejar celdas vacas.

Que las claves de registros diferentes nos den direcciones diferentes. Cuando dos o ms claves diferentes proporcionan, al aplicar la tcnica de direccionamiento, la misma direccin se dice que produce sinnimos. Tambin se dice que esos registros colisionan. Cuando las claves de dos

Pgina 14

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

registros dieron lugar a un sinnimo (indican la misma celda), slo uno de ellos puede ser almacenado en esa celda y tenemos que tener previsto algn procedimiento para calcular la posicin en la que se tiene que grabar el otro registro. Los mtodos ms empleados para el tratamiento de sinnimos son los siguientes: o Almacenar el registro que colisiona en el primer hueco libre que se encuentre a partir de la direccin que le corresponde, y que est ya ocupada. A este mtodo se le conoce como bsqueda lineal o direccionamiento abierto. o Creando una zona especial del fichero en la que se grabarn todos los registros que dieron lugar a un sinnimo. A esta zona del fichero se le suele llamar rea de desbordamiento (overflow) o de excedentes. Este es el sistema ms empleado.

4.2. Clasificacin de las tcnicas de direccionamiento

El mayor obstculo para el uso de los archivos relativos es la necesidad de identificar los registros lgicos por un nmero relativo de registro, cuando en realidad el usuario los va a identificar por el valor de un campo del registro, como puede ser el n de factura, el D.N.I. de una persona, etc. Para poder transformar el valor de la clave en la direccin relativa del registro en el fichero hay una gran cantidad de tcnicas de direccionamiento que podemos clasificar en tres grupos:

direccionamiento directo. por asociacin. aleatorio (hashing).

A) Direccionamiento directo:
El caso ptimo de aplicacin de esta organizacin se da cuando las claves en el fichero son numricas y toman valores de 1 a n sin huecos intermedios. En este caso la clave k nos conducir a la celda k-sima del fichero pudiendo acceder fcilmente a los datos de ste registro. El campo clave de cada registro contiene su direccin en el fichero. Ej.: fichero de facturas donde tomamos como clave el n de factura.

B) Direccionamiento por asociacin:


Los valores de la clave se almacenan en una tabla en memoria en la que cada elemento asocia cada valor de la clave con la direccin relativa en la que est almacenado el registro. Puesto que la tabla debe prever la inclusin de todas las direcciones posibles del archivo, su principal inconveniente resulta determinar su tamao y mantenerla ordenada por los valores de la clave.

Pgina 15

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

C) Direccionamiento aleatorio (Hashing):


En este caso hay que buscar una funcin, a ser posible biunvoca, que relacione los posibles valores de la clave con el conjunto de nmeros correlativos de celda. Esta funcin consistir en realizar una serie de clculos matemticos con el valor de la clave hasta obtener un nmero entre 1 y n, siendo n el nmero de celdas que tiene el fichero.

El principal inconveniente que presenta este tipo de direccionamiento es el que se pueden producir sinnimos ya que el nmero que se obtiene al aplicar los clculos es un nmero aleatorio y puede que dos claves diferentes den como resultado el mismo nmero, y eso nos obliga a tener previsto un mtodo para el tratamiento de los sinnimos. En los dos tipos anteriores nunca se producen sinnimos.

4.3. Ventajas e inconvenientes de la organizacin directa


Podemos citar como ventajas: Al emplear un modo de acceso directo son los ficheros que permiten acceder de la forma mas rpida posible a un registro cualquiera del fichero. Por tanto es la organizacin ideal para los procesos en los que el tiempo de acceso a los registros es lo ms importante, siempre y cuando el acceso se haga siempre por el campo clave. El caso ms favorable para utilizar la organizacin directa es cuando las claves son numricas y permiten utilizar el direccionamiento directo. Permite la actualizacin de los registros en el mismo fichero, sin necesidad de copiar el fichero. Permite realizar procesos de actualizacin en tiempo real.

Entre los inconvenientes destacan:

1. La relacin entre clave y direccin (N de registro) la define el programador y slo l es responsable de manejarla correctamente. El acceso a un registro se hace indicndole al sistema su direccin relativa dentro del fichero (n de registro) y la comprobacin de s el registro ledo es o no el que buscamos la tiene que hacer el programador, el sistema operativo no nos avisa de posibles errores que se produzcan el clculo de la direccin. 2. Cuando el rango de claves posibles es muy superior al de claves que realmente estn grabadas en el fichero, habr mucho espacio desaprovechado puesto que tenemos que reservar espacio a todos y cada uno de los registros tericamente posibles. Pueden existir celdas vacas.

Pgina 16

1DAM

Base de Datos

Tema 1

Sistema de Ficheros

3. El algoritmo de direccionamiento debe garantizamos que no se nos producirn dos direcciones iguales para dos valores de clave distintos. En el caso de no elegir un buen mtodo de direccionamiento puede que la aparicin de sinnimos haga complicado el acceso a algunos registros debido a que tendramos que emplear un mtodo de tratamiento de sinnimos que debe controlar el programador. 4. No permite el acceso secuencial a los registros por otro orden que no sea el orden en que estn grabados en el soporte. 5. Slo se puede utilizar un campo clave para acceder a los registros.

Pgina 17

1DAM

Base de Datos

Anda mungkin juga menyukai