Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 3.
Indexación de Bases de Datos.
Sistemas de Información
1. Introducción
1
1. Introducción
2. Índice simple
2. Índice simple
Ejemplo:
Supongamos que tenemos un fichero de equipos de fútbol de una
región y queremos indizarlo para que las búsquedas sean más
rápidas.
El fichero es de longitud variable y la información podría ser:
Direcc. del reg Etiqueta ID Nomb. equipo Entrenador
30 Mer 123 iii María
55 Bad 122 lll Antonio
155 Mer 145 xxx Pepe
209 Nav 234 ...
300 Alm 157
...
2
2. Índice simple
Ejemplo:
Una alternativa es construir un índice para el fichero de la
siguiente forma :
2. Índice simple
Características:
Impone a un fichero un orden sin que haya
que reorganizar todo el fichero
Proporciona varias formas de acceso a un
fichero (en función de la calve de acceso)
Proporciona acceso por clave a ficheros con
registros de longitud variable.
Esta formado por registros de longitud fija
aunque el fichero de datos contenga registros
de longitud variable.
2. Índice simple
Operaciones básicas
Crear
Cargar
Búsqueda
Inserción
Borrado
Modificación
Cierre
3
2.2. Índice simple. Operaciones
Crear
Crear los ficheros vacíos originales de índice y
datos.
Se crean como ficheros vacíos, con registro de
encabezado y nada más.
Cargar
Se define el array indice[]. Cada elemento del array es
un registro del índice. Luego se leen los registros del
fichero índice y se cargan en la tabla o array.
Búsqueda
Hay que buscar mecanismos que aceleren el
proceso de búsqueda dependiendo del uso del
fichero, aunque por lo general es la operación que
más se repite en una base de datos.
En un índice, se puede realizar una búsqueda
binaria para localizar la entrada que estamos
buscando. Si la búsqueda en el índice no tiene éxito,
se realizan cero accesos al fichero de datos. Si tiene
éxito, se realiza, como mucho, un acceso.
4
2.2. Índice simple. Operaciones
Borrado. Al igual que la inserción, necesita de
una búsqueda previa.
Si se encuentra se borra del fichero (se libera el
espacio que ocupa) y se elimina del índice,
desplazando los registros del índice.
Puede ocurrir que la operación de borrado no sea
muy frecuente y no interese perder tiempo en
reorganizar el índice. En estos casos, se marca como
borrado y luego, al volcar el índice, no se graban los
registros borrados.
En el caso de que haya muchos borrados no interesa
esta opción pues se desaprovecha mucha memoria
que puede ser útil para incluir otras entradas.
5
2.3. Índices demasiado grandes
para almacenarse en memoria
Desventajas del acceso a disco
Varios desplazamientos para realizar la búsqueda
binaria, con lo que no presenta ventajas frente a un
archivo clasificado.
Reajuste del índice en memoria secundaria al
insertar o eliminar (millones de veces mas lento que
hacerlo en memoria principal).
Cuando el índice es demasiado grande para
almacenarlo en memoria se debe considerar el
uso de:
Organización por dispersión si es crítica la velocidad
de acceso.
Organización del índice en un árbol B.