Está en la página 1de 34

Universidad Tecnolgica de panam

Facultad de ingeniera de sistemas computacionales


Licenciatura de redes informticas






Estructura de Datos
Profesora: Yolanda de Miguelena




Integrantes:
Franceschi Gino 8-874-2188
Nathalie Marn 7-709-1604
Navarro Yolanis 8-820-1736
Carlos Pimentel
Nikos Alonso 8-885-756
Carlos Olmos 8-823-2300
Shaneika Gonzales 3-733-1630
Kathyusca Guerra 8-874-900
Alfredo Ortega 8-882-820
Ivan Albernez 8-897439
Elvin Diaz 8-875-776
Ricardo Arroyo 8-875-776
Jos Castillo 8-878 1994
Marcel Justiniani 8-873-1695
Jason Mendoza 8-871-1779




Ao lectivo
I Semestre 2014
Fecha: Junio 30, 2014
Introduccin

La transformacin de llaves es la forma en que se intenta encontrar n elemento
dentro de un conjunto de elementos ordenados, este es un de los principales
objetivos que se tiene dentro de las transformaciones de llaves y es lo que
estaremos desarrollando en gran medida en el siguiente trabajo, desarrollaremos
la forma en que se divide las tcnicas de direcciones que se utilizan en la
bsqueda.
Desarrollaremos los diferentes hashing, de clculos de direcciones, desarrollamos
las comparaciones entre las funciones dentro de los hash.




ndice
Introduccin ........................................................................................................................................ 2
Transformacin de Llaves ................................................................................................................... 4
1 Definicin y Conceptos ................................................................................................................ 4
2 Tcnicas de Clculos de Direcciones ........................................................................................... 6
2.1.1 Hashing por residuo .................................................................................................... 6
2.1.2 Hashing por cuadrado medio ...................................................................................... 7
2.1.3 Hashing por pliegue ..................................................................................................... 8
3 Comparaciones entre las funciones Hash ................................................................................... 9
4 Mtodos para el manejo del problema de las colisiones .......................................................... 11
1 Organizaciones de Archivos ...................................................................................................... 15
2 Diseo de registro ..................................................................................................................... 15
2.1 Registro de Longitud Fija ................................................................................................... 15
2.2 Registro de longitud variable ............................................................................................ 16
3 Organizacin de archivos .......................................................................................................... 16
3.1 Introduccin y conceptos .................................................................................................. 16
4 Operaciones sobre archivos ...................................................................................................... 23
4.1 Tipos de organizacin de archivos .................................................................................... 26
4.1.1 Secuencial .................................................................................................................. 26
4.1.2 Indexada .................................................................................................................... 28
4.1.3 Directa o Relativa ...................................................................................................... 29
4.1.4 Ventajas y Desventajas de cada organizacin ........................................................... 29
5 Mtodos de Acceso ................................................................................................................... 31
5.1 Secuencial .......................................................................................................................... 31
5.2 Azar o directo .................................................................................................................... 31
Conclusin ......................................................................................................................................... 33
Bibliografa ........................................................................................................................................ 34


Transformacin de Llaves
1 Definicin y Conceptos

Es la forma de tratar el problema de intentar encontrar un elemento de entre un
conjunto ordenado de elementos. Cuando el nmero de elementos del conjunto
ordenado es muy grande , el tiempo empleado para buscarlo puede hacerse
demasiado largo , y para esto surge la idea de situar cada elemento de forma que
si sabemos cul es , esto nos lleve muy rpidamente a encontrarlo de entre el
conjunto de todos los elementos . Esto tiene su utilidad cuando los citados
elementos son registros con varios campos y lo que queremos es encontrar es el
registro completo que en uno de sus campos contiene un cierto valor (ya sea
numrico o de cadena de letras).
El problema sera muy sencillo si por ejemplo tenemos elementos que slo pueden
constar de una letra, slo tendramos que poner la letra "a" en el lugar 1 de un
vector, la "b" en el lugar 2 y as sucesivamente hasta la "z" que estara situada en
el lugar 26 . De esta forma, si queremos buscar la letra "j" , sabemos que slo
puede estar en la casilla 10 del vector . Pero imaginemos que en vez de una letra ,
cada elemento contiene dos letras ; en este caso , la "aa" la pondramos en la
celda 1 del vector , la "ab" en la celda 2 , la "ac" en la celda 3 y as sucesivamente
hasta la "zz" que estara situada en la celda 26x26=676 del vector ; en este caso ,
seran necesarias 676 celdas de vector para poder obtener de una forma rpida la
localizacin de cualquier cadena ; por ejemplo , supongamos que queremos
encontrar la celda que contiene "cj" , para ello slo tenemos que multiplicar el
lugar que corresponde a la "c" ( de entre todo el abecedario , que sera el lugar 3 )
por el lugar que corresponde a la "j" ( de entre todo el abecedario , que sera el 10
) , es decir 3x10=30 , la "cj" estara con toda seguridad en la celda 30 del vector .
Ahora vamos a suponer , que se admiten elementos con 10 letras posibles , el
nmero de casillas del vector necesarias para poder resolver la situacin de una
forma unvoca sera 26x26x26x26x26x26x26x26x26x26=26e10 , algo imposible de
contener en cualquier ordenador .
Por lo tanto , la funcin que asigna el lugar para un elemento cualquiera ( llave )
de entre todos los posibles H:K ===> A , es una funcin de muchos probables a
pocos posibles ( porque las memorias son muy limitadas ).
Por lo tanto, esta funcin debe de no ser unvoca sino que debe de asignar ms
de un posible elemento para cada celda. Por ejemplo, en el tema de asignar
palabras de 2 letras, se encontr que seran necesarias 26x26=676 celdas, pero si
tenemos por convenio que todas las palabras que empiecen por "a" vayan a la
celda 1 , las que empiecen por "b" a la 2 ,etc... Slo en el caso de que en la base
de datos hubiera ms de una palabra que empezara por "a" ,encontraramos un
conflicto llamado colisin y tendramos que volver a redistribuir del misma forma
todas las que empezaran por"a" . Con el resto se hara lo mismo.
Es decir, es necesario por una parte encontrar una buena funcin H y por otra
parte una buena funcin H' que nos redireccionara en caso de conflicto en la
primera localizacin.
El requisito bsico de una buena funcin H es que distribuya los elementos de una
forma lo ms uniforme posible para que se d un mnimo de colisiones. Una
funcin muy usada (la que hemos utilizado en los ejemplos) es la funcin ORD (k),
que nos devuelve el lugar del letra de entre todo el abecedario. Por lo tanto, si
tenemos un vector con N celdas, la funcin ms sencilla de direccionamiento sera
H(k)=( ORD (k) ) MOD N .
Pero si los elementos utilizados son palabras, como todas las letras no tienen la
misma probabilidad de salir, hay que elegir un N que sea primo para que la
redistribucin sea uniforme lo ms posible .
Una de las formas de tratar las colisiones (una colisin se produce cuando 2 o
ms elementos deben de ser localizados en la misma celda del vector ) es
utilizando una lista de punteros de forma que cada vez que se archive un elemento
que deba corresponder a esa celda , se aada a la lista . Cuando se desee buscar
algn elemento al que la funcin H nos seale, lo buscaremos de entre toda la
lista de los elementos asignables a dicha celda del vector y si recorremos toda la
lista sin encontrarlo, se devolver que no est presente ( a este mtodo de tratar
las colisiones se le llama encadenamiento directo ) .
Tambin hay otra forma de guardar los elementos que tengan asignada la misma
celda , estos elementos se puede ir guardando en una tabla que se llama rea de
desbordamiento , este mtodo se llama de direccin abierta .
Otro mtodo muy eficaz para resolver las colisiones es utilizar una segunda
funcin para redistribuir los elementos en colisin en el mismo vector original.
Esta funcin puede ser
h0=H(k)
hi=( h0 + i ) MOD N
A este mtodo se le llama de exploracin lineal y tiene la desventaja de que las
entradas tienden a agruparse alrededor de las llaves que no han tenido ninguna
colisin.
Hay otro mtodo que aunque requiere ms clculos, no tiene la desventaja de la
agrupacin alrededor de las llaves no colisionadas. Se trata del mtodo de
la exploracin cuadrtica, que consiste en aplicar la siguiente funcin
h0=H(k)
hi=( h0 + ( i x i ) ) MOD N
Este segundo mtodo tiene la ventaja de que no agolpa los elementos alrededor
de los no colisionados pero tiene el inconveniente de que se dejan algunos huecos
vacos en los que no es posible guardar elementos en colisin.
2 Tcnicas de Clculos de Direcciones
2.1.1 Hashing por residuo
Este mtodo consiste en dividir una llave dada entre un numero seleccionado con
anterioridad, y finalmente utilizar el resultado de la operacin como una direccin
relativa.
Lo anterior podra codificarse de la siguiente forma en pascal:
Dir := llave mod div;
Y en cobol como:
DIVIDE LLAVE BY DIV GIVING COCIENTE-REMAINDER DIR.
Donde Dir es donde se almacenara la direccin relativa, llave es la llave dada y div
el divisor.
Como se mencion el valor de div debe ser escogido con anterioridad
considerando los varios factores. Primero, el rango de valores que resultan de la
operacin "llave mod div", va desde 0 hasta div 1. Luego, el valor del divisor
determina el tamao del espacio de direccin relativa. Si se sabe que nuestro
archivo va a contener por lo menos n registros, entonces tendremos que hacer
que div > n, suponiendo que solamente un registro puede ser almacenado en una
direccin relativa dada.
Segundo, el divisor deber seleccionarse de tal forma que la probabilidad de
colisin sea minimizada. De hecho, ste es un objetivo difcil de alcanzar.
Tratamos de seleccionar un divisor que mantenga la probabilidad de colisin
relativamente baja, pero en general no nos vamos a esforzar en minimizar
realmente las colisiones. Mediante investigaciones se ha demostrado que los
divisores que son nmeros pares tienden a comportarse pobremente,
especialmente con los conjuntos de valores de llave que son predominantemente
impares.
Algunas investigaciones sugieren que el divisor debera ser un nmero primo, con
lo cual se reduciran los resultados sesgados. Sin embargo, otro trabajo sugiere
que los divisores no primos trabajan tambin como los divisores primos, siempre y
cuando los divisores no primos no contengan nmeros primos pequeos como
factores. Sugieren que seleccionar un nmero que no contenga ningn factor
primo menor de 20 es probablemente suficiente para asegurar un buen
desempeo.
De esta forma si elegimos usar un nmero primo como divisor y tener un nmero
mximo de localidades de 5000 entonces nuestro divisor tendra el valor de 5003
que es el nmero primo mayor inmediato a 5000.
A continuacin se muestra una tabla que ilustra el uso de la tcnica del nmero
primo



2.1.2 Hashing por cuadrado medio
Esta tcnica consiste en elevar al cuadrado la llave dada, despus algunos dgitos
especificados se extraen de la mitad del resultado para construir la direccin
relativa. Si se desea una direccin relativa de n dgitos, entonces los dgitos se
truncan en ambos extremos de la llave elevada al cuadrado, tomando los n dgitos
intermedios. Las mismas posiciones de n dgitos debern extraerse para cada
llave. La siguiente figura ilustra el uso de la tcnica del medio del cuadrado para
los mismos valores de llaves que se mostraron en la tabla anterior.





Los dgitos de las posiciones 7 10 se extrajeron para formar una direccin
relativa de 4 dgitos.

2.1.3 Hashing por pliegue
En esta tcnica el valor de la llave es participando en varias de las partes, cada
una de las cuales (excepto la ltima) tiene el mismo nmero de dgitos que tiene la
direccin relativa objetivo. Estas particiones son despus plegadas una sobre otra
y sumadas. El resultado, con el dgito de mayor orden truncado, si es necesario,
es la direccin relativa.
Por ejemplo, considere el valor de llave 123456789, y suponga que la direccin
relativa objetiva tendr 4 dgitos. El valor de la llave es participando en partes de 4
dgitos.

El dgito de mayor orden es truncado para dar la direccin relativa 3221.
La siguiente tabla muestra las direcciones relativas que resultan cuando el mtodo
de pliegue es aplicado a nuestro conjunto de valores de llave.

Igual que para el mtodo del medio del cuadrado, el tamao del espacio de
direcciones relativas es una potencia de 10.
3 Comparaciones entre las funciones Hash

Es un gran conjunto de informacin, dando como resultado un conjunto imagen
finito generalmente menor (un subconjunto de los nmeros naturales por ejemplo).
Varan en los conjuntos de partida y de llegada y en cmo afectan a la salida
similitudes o patrones de la entrada. Una propiedad fundamental del hashing es
que si dos resultados de una misma funcin son diferentes, entonces las dos
entradas que generaron dichos resultados tambin lo son.
Es posible que existan claves resultantes iguales para objetos diferentes, ya que el
rango de posibles claves es mucho menor que el de posibles objetos a resumir
(las claves suelen tener en torno al centenar de bits, pero los ficheros no tienen un
tamao lmite).
Son usadas en mltiples aplicaciones, como los arrays asociativos, criptografa,
procesamiento de datos y firmas digitales, entre otros. Una buena funcin de hash
es una que experimenta pocas colisiones en el conjunto esperado de entrada; es
decir que se podrn identificar unvocamente las entradas (ver funcin inyectiva).
La funcin de hash depende de cada problema y de cada finalidad, y se pueden
utilizar con nmeros o cadenas, pero las ms utilizadas son:

Restas sucesivas: esta funcin se emplea con claves numricas entre las que
existen huecos de tamao conocido, obtenindose direcciones consecutivas. Por
ejemplo, si el nmero de expediente de un alumno universitario est formado por
el ao de entrada en la universidad, seguido de un nmero identificativo de tres
cifras, y suponiendo que entran un mximo de 400 alumnos al ao, se le
asignaran las claves:1998-000 --> 0 = 1998000-1998000
1998-001 --> 1 = 1998001-1998000
1998-002 --> 2 = 1998002-1998000
...
1998-399 --> 399 = 1998399-1998000
1999-000 --> 400 = 1999000-1998000+400
...
yyyy-nnn --> N = yyyynnn-1998000+(400*(yyyy-1998))

Aritmtica modular: el ndice de un nmero es resto de la divisin de ese nmero
entre un nmero N prefijado, preferentemente primo. Los nmeros se guardarn
en las direcciones de memoria de 0 a N-1. Este mtodo tiene el problema de que
cuando hay N+1 elementos, al menos un ndice es sealado por dos elementos
(teorema del palomar). A este fenmeno se le llama colisin, y es tratado ms
adelante. Si el nmero N es el 13, los nmeros siguientes quedan transformados
en:

13000000 --> 0
12345678 --> 7
13602499 --> 1
71140205 --> 6
73062138 --> 6

Mitad del cuadrado: consiste en elevar al cuadrado la clave y coger las cifras
centrales. Este mtodo tambin presenta problemas de colisin:
123*123=15129 --> 51
136*136=18496 --> 84
730*730=532900 --> 29
301*301=90601 --> 06
625*625=390625 --> 06

Truncamiento: consiste en ignorar parte del nmero y utilizar los elementos
restantes como ndice. Tambin se produce colisin. Por ejemplo, si un nmero de
8 cifras se debe ordenar en un array de 1000 elementos, se pueden coger la
primer, la tercer y la ltima cifras para formar un nuevo nmero:
13000000 --> 100
12345678 --> 138
13602499 --> 169
71140205 --> 715
73162135 --> 715

Plegamiento: consiste en dividir el nmero en diferentes partes, y operar con ellas
(normalmente con suma o multiplicacin). Tambin se produce colisin. Por
ejemplo, si dividimos los nmeros de 8 cifras en 3, 3 y 2 cifras y se suman, dar
otro nmero de tres cifras (y si no, se cogen las tres ltimas cifras):
13000000 --> 130=130+000+00
12345678 --> 657=123+456+78
71140205 --> 118 --> 1118=711+402+05
13602499 --> 259=136+024+99
25000009 --> 259=250+000+09
4 Mtodos para el manejo del problema de las colisiones

MANEJO DE COLISIONES

Resolucin de colisiones

Hablamos de una colisin cuando hay una misma direccin para ms de una llave
diferente.

Para poder resolver el problema de las colisiones se busca alguna direccin que
se encuentre desocupada cercana a la posicin en donde debe de estar el nodo o
la estructura (de acuerdo a la que proporcione la funcin de Hash).

Direccionamiento Abierto

Consiste en revisar las direcciones de la tabla (as se le puede llamar al archivo o
al arreglo donde se est almacenando y/o recuperando las llaves procesadas) en
forma secuencial, partiendo de la direccin donde ocurri la colisin, hasta
encontrar el elemento deseado si se trata de una bsqueda o bien encontrar un
espacio libre si es el caso de almacenamiento. Si se llegara hasta el final de la
tabla, entonces se regresar a buscar a partir de la primera direccin, como si se
tratara de una cola circular.

En el peor de los casos, si se presentaran muchas colisiones, es posible que se le
tenga que dar toda una vuelta a la tabla para encontrar el nodo deseado.

Por eso la importancia de dejar aproximadamente un 20 % ms de memoria que la
que se estima ocupar, por ejemplo si se van a almacenar 1,000 elementos, se
recomienda reservar 1,200 localidades para que existan direcciones desocupadas,
distribuidas en ese espacio de memoria, para evitar tener que darle la vuelta
completa a la tabla.

Cuando se trata de almacenar un elemento, ste se asignar a la primera
localidad disponible ms cercana al nodo y si se trata de una bsqueda para
consulta (realizar altas,bajas y cambios), se busca en forma secuencial a partir de
esa posicin, hasta encontrar el elemento buscado, pero si se encuentra una
direccin disponible sin haber localizado la llave del nodo deseado, indicara que
el elemento no se encuentra en la tabla.

Tal vez sea la forma ms sencilla para resolver las colisiones, pero tiene
la desventaja de que si se presentan varias colisiones, entonces se empiezan a
agrupar nodos o elementos alrededor de una misma direccin (clustering), en
forma contigua y al realizar otra consulta, esta se puede llegar a convertir en una
bsqueda secuencial o lineal, causando un incremento en el tiempo de ejecucin
del algoritmo y por consiguiente, aumento en el tiempo de respuesta de la consulta.

Encadenamiento
En esta forma de solucin de colisiones se crea una lista simplemente ligada para
cada direccin que se repita, esta lista indicar cual es la direccin del siguiente
elemento que debi haber estado en la localidad donde se origin la colisin, con
esto ya no se realiza una bsqueda secuencial, si no que se recorre la lista ligada
a travs de las direcciones de las ligas hasta que encuentre la direccin NULL o
Nulo, logrando una mayor velocidad de esta tcnica. Pero tiene las desventajas de
que ocupa un espacio de memoria mayor para almacenar la liga y de que el
algoritmo se vuelve un poco ms complejo comparado con el de Direccionamiento
Abierto.
Ejemplo de encadenamiento:

001, 101, 002, 003, 123, 700, 403, 302, 405, 200


0 200 NULL
1 001 NULL
2 101 3
3 002 4
4 003 5
5 123 6
6 302 0
7 700 8
8 403 NULL
9 405 NULL

MTODOS PARA RESOLVER EL PROBLEMA DE LAS COLISIONES
Considere las llaves K
1
y K
2
que son sinnimas para la funcin hash R. Si K
1
es
almacenada primero en el archivo y su direccin es R(K
1
), entonces se dice que
K
1
esta almacenado en su direccin de origen.

Existen dos mtodos bsicos para determinar donde debe ser alojado K
2
:
Direccionamiento abierto.- Se encuentra entre direccin de origen para
K
2
dentro del archivo.
Separacin de desborde (Area de desborde).- Se encuentra una direccin
para K
2
fuera del rea principal del archivo, en un rea especial de desborde,
que es utilizada exclusivamente para almacenar registro que no pueden ser
asignados en su direccin de origen
Los mtodos ms conocidos para resolver colisiones son:

Sondeo lineal
Que es una tcnica de direccionamiento abierto. Este es un proceso de bsqueda
secuencial desde la direccin de origen para encontrar la siguiente localidad vaca.
Esta tcnica es tambin conocida como mtodo de desbordamiento consecutivo.
Para almacenar un registro por hashing con sondeo lineal, la direccin no debe
caer fuera del lmite del archivo, En lugar de terminar cuando el lmite del espacio
de direccin se alcanza, se regresa al inicio del espacio y sondeamos desde ah.
Por lo que debe ser posible detectar si la direccin base ha sido encontrada de
nuevo, lo cual indica que el archivo est lleno y no hay espacio para la llave.
Para la bsqueda de un registro por hashing con sondeo lineal, los valores de
llave de los registros encontrados en la direccin de origen, y en las direcciones
alcanzadas con el sondeo lineal, deber compararse con el valor de la llave
buscada, para determinar si el registro objetivo ha sido localizado o no.
El sondeo lineal puede usarse para cualquier tcnica de hashing.
Si se emplea sondeo lineal para almacenar registros, tambin deber emplearse
para recuperarlos.
Doble hashing
En esta tcnica se aplica una segunda funcin hash para combinar la llave original
con el resultado del primer hash. El resultado del segundo hash puede situarse
dentro del mismo archivo o en un archivo de sobreflujo independiente; de
cualquier modo, ser necesario algn mtodo de solucin si ocurren colisiones
durante el segundo hash.
La ventaja del mtodo de separacin de desborde es que reduce la situacin de
una doble colisin, la cual puede ocurrir con el mtodo de direccionamiento abierto,
en el cual un registro que no esta almacenado en su direccin de origen
desplazara a otro registro, el que despus buscar su direccin de origen. Esto
puede evitarse con direccionamiento abierto, simplemente moviendo el registro
extrao a otra localidad y almacenando al nuevo registro en la direccin de origen
ahora vaca.
Puede ser aplicado como cualquier direccionamiento abierto o tcnica de
separacin de desborde.
Para ambas mtodos para la solucin de colisiones existen tcnicas para mejorar
su desempeo como:
1.- Encadenamiento de sinnimos
Una buena manera de mejorar la eficiencia de un archivo que utiliza el clculo de
direcciones, sin directorio auxiliar para guiar la recuperacin de registros, es el
encadenamiento de sinnimos. Mantener una lista ligada de registros, con la
misma direccin de origen, no reduce el nmero de colisiones, pero reduce los
tiempos de acceso para recuperar los registros que no se encuentran en su
localidad de origen. El encadenamiento de sinnimos puede emplearse con
cualquier tcnica de solucin de colisiones.
Cuando un registro debe ser recuperado del archivo, solo los sinnimos de la llave
objetivo son accesados.
2.- Direccionamiento por cubetas
Otro enfoque para resolver el problema de las colisiones es asignar bloques de
espacio (cubetas), que pueden acomodar ocurrencias mltiples de registros, en
lugar de asignar celdas individuales a registros. Cuando una cubeta es
desbordada, alguna nueva localizacin deber ser encontrada para el registro. Los
mtodos para el problema de sobrecupo son bsicamente los mismos que los
mtodos para resolver colisiones.

1 Organizaciones de Archivos
Diseo de registro
1.1 Registro de Longitud Fija
La longitud fija en el tamao del campo produce un desperdicio de espacio, pero
en cambio facilita la localizacin y extraccin de la informacin en dicho campo, al
no tener que preocuparse por su tamao.
La longitud de los registros no puede variar, longitud fija.
Se pueden crear de 3 maneras distintas:
- Igual nmero de campos e igual longitud de campo en cada registro.
- Igual nmero de campos y distintas longitud de cada campo en cada registro.
- Distintos nmero de campos y distinta longitud de cada campo en el registro.
Ejemplo:




1.2 Registro de longitud variable
Almacenan registros de varios tipos en un archivo y permite uno o ms campos de
longitudes variables y dichos campos pueden ser repetidos. la longitud de los
registros debe estar definida correctamente para poder leer y escribir de forma
efectiva. aqu hay un aprovechamiento del espacio pero se complica la
localizacin y extraccin de la informacin.
Y pueden ser de: registro de longitud variable con campo fijo y registro de longitud
variable con campo variable.



2 Organizacin de archivos
2.1 Introduccin y conceptos
Los archivos como coleccin de datos sirven para la entrada y salida a la
computadora y son manejados con programas.
Los archivos pueden ser contrastados con Arrays y registros; Lo que resulta
dinmico y por esto en un registro se deben especificar los campos, l nmero de
elementos de un arrays (o arreglo), el nmero de caracteres en una cadena; por
esto se denotan como "Estructuras Estticas".
Esta definicin bsica nos proporciona en estndar mnimo pero explicito que nos
ayuda a una organizacin, algunas veces con resultados inesperados. La
definicin tambin identifica a organizaciones extremadamente complejas, una
organizacin puede ser casual o sumamente compleja.
Las organizaciones bastas contienen muchas organizaciones pequeas, existen
dos clases de elementos comunes en todas las organizaciones, el elemento
ncleo y los elementos operantes.
En los archivos no se requiere de un tamao predeterminado; esto significa que se
pueden hacer archivos de datos ms grandes o pequeos, segn se necesiten.
Conceptos

Organizacin de Archivos

Se refiere a las diferentes maneras en las que puede ser organizada la
informacin de los archivos, as como las diferentes maneras en que sta puede
ser accesada. Dado que hay 2 niveles de visin de los archivos (fsico y lgico), se
puede hablar tambin de 2 aspectos de organizacin de archivos:
Organizacin de archivos lgicos y de archivos fsicos.

Organizacin de un sistema de archivos utilizando directorios.
El sistema de archivos est relacionado especialmente con la administracin del
espacio de almacenamiento secundario, fundamentalmente con el
almacenamiento de disco.
Una forma de organizacin de un sistema de archivos puede ser la siguiente:
Se utiliza una raz para indicar en qu parte del disco comienza el
directorio raz.
El directorio raz apunta a los directorios de usuarios.
Un directorio de usuario contiene una entrada para cada uno de los
archivos del usuario.
Cada entrada de archivo apunta al lugar del disco donde est almacenado
el archivo referenciado.

Los nombres de archivos solo necesitan ser nicos dentro de un directorio de
usuario dado.
El nombre del sistema para un archivo dado debe ser nico para el sistema de
archivos.
En sistemas de archivo jerrquicos el nombre del sistema para un archivo suele
estar formado como el nombre de la trayectoria del directorio raz al archivo.
Organizacin lgica
La mayora de las computadoras organizan los archivos en jerarquas llamadas
carpetas, directorios o catlogos. (El concepto es el mismo independientemente
de la terminologa usada.) Cada carpeta puede contener un nmero arbitrario de
archivos, y tambin puede contener otras carpetas. Las otras carpetas pueden
contener todava ms archivos y carpetas, y as sucesivamente, construyndose
un estructura en rbol en la que una carpeta raz (el nombre vara de una
computadora a otra) puede contener cualquier nmero de niveles de otras
carpetas y archivos. A las carpetas se les puede dar nombre exactamente igual
que a los archivos (excepto para la carpeta raz, que a menudo no tiene nombre).
El uso de carpetas hace ms fcil organizar los archivos de una manera lgica.
La mayor parte de las estructuras de organizaciones alternativas de archivos se
encuentran dentro de estas cinco categoras:
Pilas

Archivo de pilas: Registro de longitud variable. Conjunto variable de campos.
Orden cronolgico.
Es la forma ms fcil de organizar un archivo. Los datos se recogen en el orden en
que llegan.
Su objetivo es simplemente acumular una masa de datos y guardarla.
Los registros pueden tener campos diferentes o similares en un orden distinto.
Cada campo debe ser auto descriptivo, incluyendo tanto un campo de nombre
como el valor. La longitud de cada campo debe indicarse implcitamente con
delimitadores, explcitamente incluidos como un subcampo ms.
El acceso a los registros se hace por bsquedas exhaustiva y son fciles de
actualizar. Si se quiere encontrar un registro que contiene un campo particular y
un valor determinado, es necesario examinar cada registro de la pila hasta
encontrar el registro deseado. Si se quieren encontrar todos los registros que
contienen un campo particular o que tienen un valor determinado para ese campo,
debe buscarse el archivo entero.
Se aplica cuando los datos se recogen o almacenan antes de procesarlos o
cuando no son fciles de organizar. Esta clase de archivo aprovecha bien el
espacio cuando los datos almacenados varan en tamao y estructura. Fuera de
estos usos limitados, este tipo de archivos no se adapta a la mayora de las
aplicaciones.
Archivos secuenciales

Archivo secuencial: Registro de longitud fija. Conjunto fijo de campos en orden
constante. Orden secuencial por el campo clave.
Es la forma ms comn de estructura de archivos.
Se emplea un formato fijo para los registros, son de la misma longitud y constan
del mismo nmero de campos de tamao fijo con un orden determinado.
Se necesita almacenar los valores de cada campo; el nombre del campo y la
longitud de cada uno son atributos de la estructura del archivo. Cada registro tiene
un campo clave que lo identifica (generalmente es el primero de cada registro).
Los registros se almacenan en secuencia por la clave.
Se utilizan normalmente en aplicaciones de procesos por lotes, ya que es la nica
organizacin de archivos que se puede guardar tanto en cintas como en discos.
Para las aplicaciones interactivas que incluyen peticiones o actualizaciones de
registros individuales, los archivos secuenciales no son ptimos. El acceso
requiere una bsqueda secuencial de correspondencias con la clave. Si el archivo
entero o gran parte de l pueden traerse a la memoria principal de una sola vez,
se podrn aplicar tcnicas de bsquedas ms eficientes. Al acceder un registro de
un archivo secuencial grande, se produce un procesamiento extra y un retardo
considerable.
La organizacin fsica del archivo en una cinta o disco se corresponde
exactamente con la organizacin lgica del archivo, por lo tanto el procedimiento
habitual es ubicar los nuevos registros en un archivo de pila separado, es llamado
archivo de registro o archivo de transacciones.
Una alternativa es organizar fsicamente el archivo secuencial como una lista
enlazada, en cada bloque fsico se almacena uno o ms registros y cada bloque
del disco contienen un puntero al bloque siguiente. La insercin de un nuevo
registro implica la manipulacin de puntero, pero no requiere que el nuevo registro
ocupe una posicin particular del bloque
fsico.
Archivos secuenciales indexados
Los registros se organizan en una
secuencia basada en un campo clave
presentando dos caractersticas, un ndice
del archivo para soportar los accesos
aleatorios y un archivo de
desbordamiento. El ndice proporciona
una capacidad de bsqueda para llagar
rpidamente al registro deseado y el archivo de desbordamiento es similar al
archivo de registros usado en un archivo secuencial, pero est integrado de forma
que los archivos de desbordamiento se ubiquen siguiendo un puntero desde su
registro predecesor.
La estructura ms simple tiene como ndice un archivo secuencial simple, cada
registro del archivo ndice tiene dos campos, un campo clave igual al del archivo
principal y un puntero al archivo principal. Para encontrar un campo especifico se
busca en el ndice hasta encontrar el valor mayor de la clave que es iguale o
precede al valor deseado de la clave, la bsqueda continua en el archivo principal
a partir de la posicin que indique el puntero.
Cada registro del archivo principal tiene un campo adicional que es un puntero al
archivo de desbordamiento. Cuando se inserta un nuevo registro al archivo,
tambin se aade al archivo de desbordamiento. El registro del archivo principal
que precede inmediatamente al nuevo registro segn la secuencia lgica se
actualiza con un puntero del registro nuevo en el archivo de desbordamiento, si el
registro inmediatamente anterior est tambin en el archivo de desbordamiento se
actualizar el puntero en el registro.
Para procesar secuencialmente un archivo completo los registros del archivo
principal se procesarn en secuencia hasta encontrar un puntero al archivo de
desbordamiento, el acceso contina en el archivo de desbordamiento hasta que
encuentra un puntero nulo, entonces renueva el acceso donde se abandon en el
archivo principal.
Archivos indexados

A los registros se accede solo a travs de sus ndices. No hay restriccin en la
ubicacin de los registros, al menos un ndice contiene un puntero a cada registro
y pueden emplearse registros de longitud variable.
Se suelen utilizar dos tipos de ndices, uno exhaustivo que contiene una entrada
para cada registro del archivo principal y se organiza como un archivo secuencial
para facilitar la bsqueda, el otro ndice es parcial que contiene entrada a los
registros donde est el campo de inters.
Con registro de longitud variable, algunos registros no contendrn todos los
campos y cuando se aade un registro al archivo principal, todos los archivos de
ndices deben actualizarse.
Archivos directos o de dispersin
Explotan la capacidad de los discos para acceder directamente a cualquier bloque
de direccin conocida.
Se requiere un campo clave en cada registro.
Los archivos directos son muy usados donde se necesita un acceso muy rpido,
donde se usan registros de longitud fija y donde siempre se accede a los registros
de una vez.


Organizacin fsica.
Los datos son arreglados por su adyacencia fsica, es decir, de acuerdo con el
dispositivo de almacenamiento secundario. Los registros son de tamao fijo o de
tamao variable y pueden organizarse de varias formas para constituir archivos
fsicos.

Cinta magntica
En este dispositivo el archivo fsico est formado por un conjunto de registros
fsicos, y los bloques estn organizados en forma consecutiva, ya que se asigna
en igual forma.
Adems tales registros puede contener etiquetas que permitan un mayor control
sobre los datos almacenados, y son las siguientes:
- Etiqueta de volumen.- Contiene informacin que permite identificar la cinta, el
nombre del propietario y cualquier informacin general requerida.
- Etiqueta de archivo.- Se utilizan por pares para indicar el inicio y fin del archivo,
contiene informacin acerca del nombre del archivo, fecha de creacin.
- Etiqueta de usuario.- Sirven para guardar informacin adicional de importancia
para el usuario; no son procesados por el sistema operativo.
Discos Magnticos
El archivo fsico en un disco es una coleccin de registros fsicos de igual tamao,
los cuales pueden estar organizados en forma consecutiva, ligada o con una tabla
de mapeo.
En la organizacin contigua, el archivo utiliza registros fsicos contiguos, siguiendo
la secuencia normal de direcciones.
La organizacin encadenada consiste un conjunto de bloques, cada uno de los
cuales tiene un campo destinado para indicar la direccin del siguiente registro, o
sea, para lo que se ha llamado enlace o liga.
Otra forma de organizacin es la tabla de mapeo que consiste en una tabla de
apuntadores a los registros fsicos que forman el archivo.
La organizacin fsica de un archivo en el almacenamiento secundario depende de
la estrategia de agrupacin y de la estrategia de asignacin de archivos.

3 Operaciones sobre archivos
Los archivos informticos son el medio de que disponemos para almacenar
informacin no voltil en un dispositivo de almacenamiento. Los Sistemas de
archivos de que disponen los sistemas operativos disponen de mecanismos para
que un usuario pueda manipular los archivos (seleccionar, editar, ejecutar, borrar).
Desde el punto de vista de un programador un archivo es un medio para poder
leer datos de entrada para su programa o donde poder guardar los resultados de
su ejecucin. Todo lenguaje de programacin debe disponer de algn mecanismo
para que el programador pueda manipular archivos desde un programa.
Estos mecanismos pueden ser ms o menos sofisticados o verstiles
dependiendo del lenguaje de programacin que estemos considerando, pero debe
haber unas funciones bsicas para poder acceder a un archivo, estas son:
Lectura (consulta).- Esta operacin consiste el leer la informacin
contenida en fichero sin alterarla.
Escritura (modificacin).- Consiste en actualizar el contenido del fichero
bien aadindole nuevos datos o borrando parte de los que contena.
Apertura.- Antes de acceder a un fichero, tanto para consultar como para
actualizar su informacin, es necesario abrirlo. Esta operacin se debe
realizar previamente a las operaciones de lectura o escritura.
Cierre.- Cuando se ha terminado de consultar o modificar un fichero, por lo
general, del mismo modo que se tuvo que abrir para realizar alguna
operacin de lectura/escritura sobre l, ste deber ser cerrado.
Creacin de un fichero
El objetivo de esta operacin es permitir a los usuarios la creacin de nuevos
ficheros. Mediante esta operacin se indican las propiedades y las caractersticas
del fichero para que el sistema de ficheros pueda reconocerlo y procesarlo. En el
proceso de creacin del fichero debe registrarse la informacin necesaria para que
el sistema pueda localizar el fichero y manipular sus registros lgicos. Para ello, el
mtodo de acceso debe obtener informacin sobre el formato y el tamao de los
registros lgicos y fsicos, la identificacin del fichero, la fecha de creacin, su
posible tamao, su organizacin, aspectos de seguridad, etc.
Apertura de un fichero
En esta operacin el mtodo de acceso localiza e identifica un fichero existente
para que los usuarios o el propio sistema operativo puedan operar con l. En
algunos sistemas la operacin de creacin no existe como tal, y es la operacin de
apertura de un fichero no existente, la que implcitamente, crea un nuevo fichero.

Los errores que pueden producirse en la apertura de un fichero son los siguientes
El fichero no se encuentra en el lugar indicado (dispositivo, directorio,
nombre).
El fichero se ha localizado pero el usuario no tiene permiso para acceder al
mismo.
El fichero no se puede leer por errores en el hardware del dispositivo de
almacenamiento
Cierre de un fichero
Esta operacin se utiliza para indicar que se va a dejar de utilizar un fichero
determinado. Mediante esta operacin el mtodo de acceso se encarga de
"romper" la conexin entre el programa de usuario y el fichero, garantizando la
integridad de los registros. Al ejecutar esta operacin, el sistema se encarga de
escribir en el dispositivo de almacenamiento aquella informacin que contienen los
bfer asociados al fichero y se llevan a cabo las operaciones de limpieza
necesarias. Tras cerrar el fichero, sus atributos dejan de ser accesibles para el
mtodo de acceso. El nico parmetro necesario para realizar esta operacin es el
identificador del fichero devuelto por el mtodo de acceso al crear o abrir el
fichero. Los errores que se pueden producir al cerrar un fichero son los siguientes
Extensin del fichero
Esta operacin permite a los programas de usuario aumentar el tamao de un
fichero asignndole ms espacio en el dispositivo de almacenamiento. Para
realizar esta operacin el mtodo de acceso necesita conocer el identificador del
fichero y el tamao del espacio adicional que se debe asignar al fichero. En
funcin de la organizacin del fichero, el mtodo de acceso determinar si el
espacio adicional que debe asignar debe ser contiguo al fichero o no. Mediante
esta operacin el atributo que indica el tamao del fichero ser modificado y se
devolver al programa de usuario con un cdigo de estado. El nico motivo para
que esta operacin no se lleve a cabo con xito es que no haya suficiente espacio
disponible en el lugar adecuado (no contiguo).
Proteccin de archivos
Muchos sistemas informticos modernos proporcionan mtodos para proteger los
archivos frente a daos accidentales o intencionados. Las computadoras que
permiten varios usuarios implementan permisos sobre archivos para controlar
quin puede o no modificar, borrar o crear archivos y carpetas. A un usuario dado
se le puede conceder solamente permiso para modificar un archivo o carpeta, pero
no para borrarlo; o a un usuario se le puede conceder permiso para crear archivos
o carpetas, pero no para borrarlos. Los permisos tambin se pueden usar para
permitir que solamente ciertos usuarios vean el contenido de un archivo o carpeta.
Los permisos protegen de la manipulacin no autorizada o destruccin de la
informacin de los archivos, y mantienen la informacin privada confidencial
impidiendo que los usuarios no autorizados vean ciertos archivos.
Otro mecanismo de proteccin implementado en muchas computadoras es una
marca de slo lectura. Cuando esta marca est activada en un archivo (lo que
puede ser realizado por un programa de computadora o por un usuario humano),
el archivo puede ser examinado, pero no puede ser modificado. Esta marca es til
para informacin crtica que no debe ser modificada o borrada, como archivos
especiales que son usados solamente por partes internas del sistema informtico.
Algunos sistemas incluyen tambin una marca oculta para hacer que ciertos
archivos sean invisibles; esta marca la usa el sistema informtico para ocultar
archivos de sistema esenciales que los usuarios nunca deben modificar.
Almacenamiento de archivos
En trminos fsicos, la mayora de los archivos informticos se almacenan en
discos duros discos magnticos que giran dentro de una computadora que
pueden registrar informacin indefinidamente. Los discos duros permiten acceso
casi instantneo a los archivos informticos.
Hace unos aos solan usarse cintas magnticas para realizar copias de
seguridad. Tambin se usaban otros medios de almacenamiento como discos
compactos grabables, unidades Zip, etctera.
No obstante en la actualidad han cobrado mucho auge las memorias flash,
dispositivos con mucha capacidad de almacenamiento que tienen la ventaja de ser
pequeos y porttiles; suelen usarse para guardar archivos en dispositivos
pequeos como telfonos mviles o reproductores de audio porttiles
Respaldo de archivos
Cuando los archivos informticos contienen informacin que es extremadamente
importante, se usa un proceso de respaldo (back-up) para protegerse contra
desastres que podran destruir los archivos. Hacer copias de respaldo de archivos
significa simplemente hacer copias de los archivos en una ubicacin separada de
modo que se puedan restaurar si le pasara algo a la computadora, o si fueran
borrados accidentalmente.
Hay muchas maneras de hacer copias de respaldo de archivos. La mayora de los
sistemas informticos proporcionan utilidades para ayudar en el proceso de
respaldo, que puede llegar a consumir mucho tiempo si hay muchos archivos a
salvaguardar. Copiar los archivos a otro disco duro en la misma computadora
protege contra el fallo de un disco, pero si es necesario protegerse contra el fallo o
destruccin de la computadora entera, entonces de deben hacer copias de los
archivos en otro medio que puede sacarse de la computadora y almacenarse en
una ubicacin distante y segura.

3.1 Tipos de organizacin de archivos
3.1.1 Secuencial
Esta es la forma ms bsica de organizar un conjunto de registros, que forman un
archivo, utilizando una organizacin secuencial. En un archivo organizado
secuencialmente, lo registros quedan grabados consecutivamente cuando el
archivo se utiliza como entrada. En la mayora de los casos, los registros de un
archivo secuencial quedan ordenados de acuerdo con el valor de algn campo de
cada registro. Semejante archivo se dice que es un archivo ordenado; el campo, o
los campos, cuyo valor se utiliza para determinar el ordenamiento es conocido
como la llave del ordenamiento. Un archivo puede ordenarse ascendente o
descendentemente con base en su llave de ordenamiento.

Podemos decir que 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.












ESTRUCTURA DE LA ORGANIZACIN SECUENCIAL
Archivo secuencial es la forma ms simple de almacenar y recuperar registros de
un archivo. En un archivo secuencial, se almacenan los registros uno tras otro. El
primer registro almacenado se coloca al principio del archivo. El segundo se
almacena inmediatamente despus (no existen posiciones sin uso), el tercero
despus del segundo, etc. Este orden nunca cambia en la organizacin secuencial.

Una caracterstica de los archivos secuenciales es que todos los registros se
almacenan por posicin: de primer registro, segundo registro etc.

Escritura de los archivos secuenciales

En estos archivos, la informacin slo puede leerse y escribirse empezando desde
el principio del archivo.

Los archivos secuenciales tienen algunas caractersticas que hay que tener
en cuenta:

1. La escritura de nuevos datos siempre se hace al final del archivo.
2. Para leer un dato concreto del archivo hay que avanzar siempre hasta donde se
encuentre dicho dato. Si el dato requerido se encuentra antes del dato en que est
se est posicionado el archivo en un momento dado, ser necesario regresar al
comienzo del archivo y avanzar hasta el dato necesario.

Almacenamiento de archivos Secuenciales.

Los archivos secuenciales pueden almacenarse en dispositivos de acceso serial o
directo. Con frecuencia los dispositivos de acceso serial son considerablemente
menos caros que los dispositivos de acceso directo en un sistema de cmputo,
pero de hecho, los dispositivos de almacenamiento de acceso directo en una
computadora siempre proporcionan mayor capacidad de almacenamiento y
acceso ms rpido que los dispositivos de acceso serial.

Operacin sobre archivos secuenciales
Para leer un archivo secuencial, el sistema siempre comienza al principio del
archivo y lee un registro a la vez hasta llegar al registro deseado. Por ejemplo si
ocurre que el registro particular es el dcimo en un archivo, el sistema comienza
en el primer registro y lee hacia delante un registro a la vez hasta llegar al dcimo.

Actualizacin en archivos secuenciales.

Un archivo maestro representa el punto esttico de algn aspecto de alguna
organizacin en un tiempo dado. Los cambios en la organizacin se reflejan en el
archivo maestro, y para llevar a cabo la actualizacin del archivo maestro se
tendrn que realizar los tipos de actualizacin:
Insertar un nuevo registro.
Borrar un registro.
Modificar un registro.
Al estar usando un archivo secuencial como archivo maestro, el realizar las
operaciones de actualizacin se llevara con el auxilio de un archivo de
transacciones, debido a que se realizar el proceso en lote para que sea ms
eficiente.
Creacin de archivos secuenciales.
La creacin de un archivo secuencial se realiza agregando registros al final del
archivo, no importa el medio de entrada de datos. El archivo secuencial puede ser
almacenado en cintas o en discos magnticos. Un archivo secuencial puede tener
registros fijos o variables, la declaracin del archivo y la definicin del registro
depender del lenguaje de programacin que se vaya a usar.
Clasificacin de los archivos secuenciales.
Normalmente el uso de los archivos secuenciales se da en procesos en lote,
donde se ha hecho notar que son eficientes cuando se llevan a cabo diversas
operaciones sobre una gran cantidad de registros o de todo el archivo. Esta
eficiencia se logra con una accin: la clasificacin, proceso que no es exclusivo de
los archivos secuenciales, pero si necesaria para diversas operaciones.
La clasificacin es el proceso de examinar los registros en un archivo y ponerlos
en una secuencia ascendente o descendente basada en el valor de uno o ms
campos del registro.

3.1.2 Indexada
Archivo Secuencial-Indexado.
Se utiliza este tipo de organizacin de archivo cuando existe la necesidad tanto de
accesar los registros secuencialmente, por algn valor de llave, como de
accesarlos individualmente. Un archivo secuencial indexado proporciona la
Combinacin de tipos de acceso que manejan un archivo secuencial y un archivo
relativo o de acceso directo.


Estructura lgica de Archivo Secuencial-Indexado

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.
Esta tabla acta como un ndice








3.1.3 Directa o Relativa

Emplean claves numricas, por lo que los registros poseen direcciones numricas
enteras, de forma que la secuencia lgica de almacenamiento de los registros en
el fichero coincide con la secuencia fsica de almacenamiento de los registros
sobre el dispositivo, ya que, las posiciones fsicas de cada registro coinciden con
el valor de la clave. En este tipo de organizacin no se puede almacenar un
registro cuya clave este por encima de los lmites mximos del fichero, ya que
cada direccin slo puede ser ocupada por un registro.
3.1.4 Ventajas y Desventajas de cada organizacin

Las ventajas de este tipo de organizacin de ficheros secuencial son:
Aprovecha al mximo el soporte, al no dejar hueco entre los registros
Rpido acceso al registro siguiente. Por lo que he hace ideal cuando en
cada operacin de actualizacin o consulta e van a procesar la mayora de
los registro.
E puede utilizar cualquier tipo de registro. De longitud fija, variable o
indefinida.
E pueden grabar en cualquier tipo de soporte, tanto en secuenciales como
direccionales.
Todos los lenguajes de programacin disponen de instrucciones para
trabajar con este tipo de fiches.
Desventajas este tipo de organizacin de ficheros directa o relativa son:
El nico modo de acceso es el acceso secuencial, por lo que para leer el
registro que ocupe la posicin n es necesaria leer lo n-1 registros
anteriores.
No se pueden insertar registro entre los que ya estn grabados.
Si el fichero est grabando en un soporte secuencial, para poder hacer
modificaciones o borrado de registros es necesario hacer una copia del
fichero en un fichero nuevo.
Las ventajas de este tipo de organizacin de ficheros indexado son:

Secuencialmente por orden lgico y tambin procesarlo al azar.
La organizacin secuencial indexada es conveniente para archivos con
mediana volatilidad, actividad variable y tamao relativamente estable.

Las desventajas de este tipo de organizacin de ficheros indexado son:
Los ndices requieren espacio extra, se necesita una doble bsqueda; una
en el ndice y otra en el archivo.
Los registros deben ser de longitud fija.
El archivo debe estar separado por un dispositivo de acceso aleatorio; no
se puede utilizar en cintas magnticas.

Las ventajas de este tipo de organizacin de ficheros directa o relativa son:

Acceso directo a los registros.

Permite realizar operaciones de escritura y lectura simultneamente, ya que
primero se localiza el registro y luego se realiza la operacin deseada: insercin,
eliminacin, consulta, modificacin, etc.

Desventajas este tipo de organizacin de ficheros directa o relativa son:

Al realizar un acceso secuencial, en una consulta sobre todos los registros del
fichero hay que recorrer todas las direcciones aunque estn vacas.

Deja gran cantidad de posiciones libres de memoria dentro del fichero, debido a
que las claves de los registros pueden indicar posiciones de almacenamiento no
contiguas, lo que implica una falta de aprovechamiento del soporte de
almacenamiento respecto al nmero real de registros almacenados.

Se producen colisiones, ya que puede existir ms de un registro con la misma
clave. Esto causa errores, pues supone la posibilidad de almacenar en el fichero
un registro repetido.
4 Mtodos de Acceso
4.1 Secuencial
Mtodo Secuencial: El mtodo de acceso secuencial es la forma en que la
computadora accede a los datos de manera que es necesario interactuar
directamente con los datos el espacio fsico dnde se encuentran otros datos.
Para entender en concepto, sigamos la siguiente analoga:
Imaginemos un tnel, en el que se encuentran de pie varias personas. Si tu
intentas ir con alguno de ellos que se encuentre lejos de ti, tienes que
necesariamente interactuar con las dems personas para llegar hacia l.
El acceso secuencial es similar, si la computadora requiere un dato especfico,
tiene que recorrer el espacio dnde se encuentra otra informacin hasta llegar al
lugar dnde est el dato requerido.
Otros ejemplos de acceso secuencial: el tocadiscos, lectora de cinta de respaldo,
grabador de discos pticos (cuando se graba un disco ptico, como un CD o un
DVD, el lser va guardando la informacin en forma de espiral sobre la superficie
del disco duro, escribiendo un dato a continuacin del otro), los casetes (para
acceder a una porcin de lo almacenado es necesario recorrer una parte de la
cinta antes).



4.2 Azar o directo
Mtodo de azar o directo
La organizacin directa es aquella que permite un posicionamiento sobre registros
especficos al localizar una clave.
Permite agilizar la localizacin de un dato en un archivo determinado al no
requerirse el procesamiento de los registros contiguos previos.
Las variantes para implementar un acceso directo son:
Archivo clasificado para bsqueda binaria: se requiere que el archivo
principal se mantenga ordenado respecto a la clave en todo momento y se
usa cuando el tiempo de bsqueda tiene una prioridad alta
Ajuste de clave a esqueleto: se utiliza cuando la clave contiene dgitos
opcionalmente caracteres alfabticos
Transformacin de claves hashing : se descompone la clave en mltiples
fragmentos
Relacin directa clave- direccin : se aplica para sistemas donde los
elementos reciben un folio consecutivo como clave

Conclusin

Despus de desarrollado en trabajo, hemos podido comprender lo complejo que
sera la bsqueda de elementos, sino estuvisemos la ayuda de los diferentes
mtodos.
Para un mejor manejo, de la forma de bsqueda tenemos la organizacin de los
archivos, y vemos como la forma secuencial dentro de los tipos de organizacin de
archivos, es una de la ms extensa y ms desarrollada, tambin tenemos la
directa o relativa este tipo de organizacin no se puede almacenar un registro
cuya clave este por encima de los lmites mximos del fichero, ya que cada
direccin slo puede ser ocupada por un registro.

Bibliografa

Alonso, J. (s.f.). Informtica. Claves. Colisiones. Transformacin. Carga y efectividad. Buckets
(compartimentos). Obtenido de http://html.rincondelvago.com/transformacion-de-
claves_hashing.html
luismy_martinez. (8 de Mayo de 2007). Slideshare. Obtenido de
http://www.slideshare.net/luismy_martinez/archivo-secuencial
Martn, F. (s.f.). Obtenido de
http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/3/informatica3.pdf
Stellar, F. (s.f.). El ricon universitario. Obtenido de http://www.e-
mas.co.cl/categorias/informatica/hashing.htm

También podría gustarte