Vous êtes sur la page 1sur 36

Organizacin de Archivos

Derechos reservados Junior Guillen


Tema: ndices
Catedrtico: Josu Bladimir Jimnez Castro
Objetivos
Comentar sobre la teora de ndices
Describir las lleves primarias y
secundarias
Desarrollar listas invertidas
Qu es un ndice?
Cuando nos referimos a ndices, lo
haremos asumiendo que es un
ndice simple, porque se
representan mediante arreglos
simples de estructuras que
contienen las llaves y los campos
de referencia.
Un ndice es aquel que permite
imponer un orden en un archivo sin
que realmente se reacomode. as no
solamente se evita desacomodar los
registros fijos, si no que tambin los
costos de aspectos como la adicin de
registros son mucho menores que en
archivos clasificados.
ndices simples de un archivo con entradas secuenciales
Archivo de lbum de msica de registros de longitud variable donde el
nmero de ID es la llave primaria del archivo
1. Qu es un ndice?
2. Para qu me sirve?
3. Cmo se construye un ndice
simple?
Cules son las operaciones bsicas en
un archivo indizado con entradas
secuenciales
Cmo funciona
realmente un ndice?
ndices simples de un archivo con entradas secuenciales
Construccin de un ndice para el archivo
Caractersticas importantes de esta estructura:
Operaciones bsicas en un archivo indizado con entradas
secuenciales
Conforme se ejecuta un programa, mantener el ndice en la memoria tambin permite
encontrar registros por llave ms rpido con un archivo indizado que con uno
clasificado porque la bsqueda binaria puede efectuarse completamente en memoria.
Operaciones bsicas en un archivo indizado con entradas
secuenciales
1. Crear los archivos originales de ndices y de datos
2. Cargar el archivo de ndices en la memoria antes de
usarlo.
3. Reescribir el archivo de ndices de la memoria despus
de usarlo.
4. Agregar registros al archivo de datos y al ndice
5. Eliminar registros del archivo de datos
6. Actualizar registros del archivo de datos
Operaciones bsicas en un archivo indizado con entradas
secuenciales
Operaciones bsicas en un archivo indizado con entradas
secuenciales
Operaciones bsicas en un archivo indizado con entradas
secuenciales
1. Debe existir un mecanismo que le permita al programa saber cuando no est
actualizado (con una bandera podra solucionarse esto).

2. Si un programa detecta que un ndice no est actualizado, debe acceder a un
podrecimiento que reconstruya el ndice a partir del archivo de datos. Esto debe
ser automtico y antes de usar el ndice.
Operaciones bsicas en un archivo indizado con entradas
secuenciales
ELIMINACION DE REGISTROS. Ya hemos visto varios mtodos de eliminacin de
registros en archivos con registros de longitud fija y variable, para reutilizar el
espacio ocupado por ellos. Estos mtodos son completamente viables para nuestro
archivo de datos, ya que, a diferencia de un archivo de datos clasificado, los
registros de este archivo no necesitan moverse para mantener el orden. Esta es
una de las grandes ventajas de los ndices: se accede rpido a los registros
individuales por llave sin molestia de tener registros fijos. De hecho, la indizacin
por s misma fija todos los registros.
Operaciones bsicas en un archivo indizado con entradas
secuenciales
ndices demasiado grandes para almacenarse en memoria
Hasta el momento los mtodos analizados de
indexacin suponen que los archivos no
sern tan gigantes y podrn ser usados en
Memoria del computador.
Qu debe hacerse cuando los
ndices son demasiado grandes
para almacenarse en memoria?
Qu desventajas
tiene los ndices
simples?
Desventajas de los ndices simples
Cuando los ndices simples son demasiado grandes para
almacenarse en memoria debe usarse:
1. Una organizacin de
dispersin, cuando la
velocidad de acceso tiene la
mxima prioridad.
2. Un ndice estructurado en forma
de rbol, como un rbol B, cuando
se necesita flexibilidad tanto en
acceso por llave como en acceso
ordenado y secuencial.
Llaves secundarias
Ahora podras hacernos la siguiente pregunta:
Cuando busco un libro en una biblioteca le
decimos a la bibliotecaria Tiene el libro de
organizacin de archivos ? le decimos Tiene el
libro cdigo CD4587986X-23?

Por lo general no buscamos la informacin por
llaves primarias, si no por descriptores que
pueden ser nombres o palabras clave. Esto es lo
que se conoce como llaves secundarias.
ndice de llaves secundarias organizadas por
compositor. Donde autor es una llave secundaria
y el cdigo del CD es la llave primaria.
Llaves secundarias
Agregar registros: Usando llaves secundarias al colocar un nuevo registro esto significa
agregar informacin en el bloque de llaves secundarias tambin. Obviamente el costo de
esto es grande a menos que el ndice secundario pueda trasladarse en memoria y
modificar todo all.
Algo muy importante es que los
ndices secundarios pueden tener
llaves repetidas, cosa que no ocurre en
los ndices secundarios. Y por supuesto
que las llaves primarias se agrupan.
Eliminacin de registros. Cuando
borramos un registro esto implica
eliminar la informacin tanto en el ndice
primario como todas sus referencias en la
tabla de ndices de llaves secundarias. Si
se tienen varios ndices se llaves
secundarias el reordenarlos cuando se ha
borrado una referencia a ellos, implica
tiempos muy grandes, a menos que se
pudieran reordenar en memoria. Por lo
general estos ndices estn en el
almacenamiento secundario
Hablemos un poco de llaves
primarias
y SECUNDARIAS
Cuando se actualizan llaves
secundarias se pueden presentar
3 posibles situaciones:
1. La actualizacin
cambia la llave
secundaria
2. La actualizacin se
restringe a otros
campos.
3. La actualizacin
cambia llave
primaria.
Llaves secundarias
Llaves secundarias
Problemas con las llaves secundarias
cmo podramos mejorar
esto? Y evitar desperdicio de
espacio en memoria y en disco
para optimizar las estructuras
de ndices
Listas invertidas
Primer intento de solucin
ANG3795 Conciertos para
piano
DG139201 Biografas msicos
DG18807 Sinfonas
RCA2626 Personajes
clebres
Primer intento de solucin
Aunque esta estructura plantea un
ahorro de espacio notable tambin
presenta algunos problemas notables
Primer intento de solucin
Qu necesitamos ahora?
Y esto lo podemos
lograr usando una
lista invertida
Ligar la lista de referencias
A los archivos que son como
los ndices secundarios, en
los que una llave secundaria
lleva a un conjunto de una o
ms llaves primarias, se les
llama listas invertidas
Son invertidas por que se
trabaja retrocediendo de
una llave secundaria a una
llave primaria y al registro
mismo.
Lista invertida
Forma conceptual de los campos de referencia
a llaves primarias como una serie de listas.
Resultados
El desarrollo de ndices sirve para dar
solucin al problema de acceso de
archivos.
Las estructuras de ndices son estructuras
complejas que se utilizan en archivos y en
memoria dinmica.
Conclusiones
El estudiante debera investigar
sobre las estructuras de rbol y su
relacin con la bsqueda de
archivos indizados.
Recomendaciones
Investigar sobre algoritmos y estructuras para
implementar indices.

Vous aimerez peut-être aussi