Anda di halaman 1dari 18

Universidad San Pedro

INDEXACION CONCEPTOS GENERALES Indexacin: Relacionar una o varias filas de una tabla con un solo dato almacenado en otra tabla o en un archivo de ndices. Asociacin: Relacin entre una direccin del disco y la porcin del disco que contiene la informacin que se desea encontrar. ndice: Es una estructura de datos que permite acceder a diferentes filas de una misma tabla a travs de un campo o campos clave. TIPOS DE INDICES ndices ordenados: las claves de bsqueda se almacenan de forma ordenada ndices asociativos: las claves de bsqueda estn distribuidas en cajones empleando una funcin de asociacin Clave de bsqueda: atributo, del conjunto de atributos, empleado para buscar registros en un archivo. Archivo de ndices: consta de registros (denominados entradas de ndice) de la forma:

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Existen distintas tcnicas de indexacin como: Indexacin por archivos secuenciales Es uno de los esquemas de indexacin ms antiguos. Supone que los archivos se encuentran ordenados secuencialmente y por lo tanto tienen una llave de bsqueda primaria. Indexacin por rboles B Son una de las estructuras de datos ms usadas para mantener ndices de acceso a BD.

NDICES ORDENADOS En un ndice ordenado, las entradas de ndices se almacenan ordenadas sobre el valor de la clave de bsqueda. Por ejemplo, el catlogo de autores en una biblioteca. Supone que los archivos (tuplas) se encuentran ordenados secuencialmente y por lo tanto tienen una llave de bsqueda primaria. ndice primario: en un archivo ordenado secuencialmente, el ndice cuya clave de bsqueda determina el orden secuencial del archivo. ndice secundario: un ndice cuya clave de bsqueda determina un orden diferente del orden secuencial del archivo. Tambin llamado ndice sin agrupacin. Archivo secuencial indexado: archivo secuencial ordenado con un ndice primario.

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


ndice Denso: Un registro de ndice para cada valor de la llave de bsqueda. El registro contiene el valor de la llave y un puntero a la tupla. Registro del ndice que aparece por cada valor de la clave de bsqueda del archivo

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


ndices Escasos: Registros de ndice slo para algunos valores de la llave.

Tambin se pueden indexar atributos no llaves, o sea, atributos por los que el archivo no se encuentra secuencialmente ordenado. Se usan ndices secundarios. Un ndice secundario apunta a bloques de punteros en memoria secundaria. Se accede a un bloque de punteros y luego se realiza una bsqueda siguiendo los punteros que se encuentran en el bloque.

Archivos de ndice de rbol B+ Los ndices de rbol B+ son una alternativa a los archivos secuenciales indexados.

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Ventajas de los archivos de ndice de rbol B+: Se reorganiza automticamente por s mismo con pequeos cambios locales, a pesar de las inserciones y los borrados. No es necesario reorganizar todo el archivo para mantener el rendimiento. Inconvenientes de los rboles B+: -Degradacin en el rendimiento. -Espacio adicional.

Un rbol B+ satisface las siguientes propiedades: Todos los caminos, desde la raz a las hojas, tienen la misma longitud. Cada nodo que no es ni raz ni hoja, tiene entre [n/2] y n hijos. Un nodo hoja tiene entre [(n1)/2] y n1 valores

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro

Casos especiales: Si la raz no es una hoja, tiene al menos 2 hijos. Si la raz es una hoja (es decir, no hay otros nodos en el rbol), puede Tener entre 0 y (n1) valores.

Nodos hoja en rboles B+ Nodo tpico

Ki son los valores de la clave de bsqueda Pi son punteros a hijos (para nodos que no son hojas), o punteros a cajones (para nodos hoja). Los valores de la clave de bsqueda estn ordenados: K1 < K2 < K3 < ... < Kn-1

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro

Nodos Que No Son Hoja En rboles B+ Los nodos que no son hoja forman un ndice disperso multinivel sobre los nodos hoja. Para un nodo que no es hoja con m punteros se cumple: Todas las claves de bsqueda en el subrbol al que apunta P1 son menores que K1 Para 2 i n 1, todas las claves de bsqueda en el subrbol al que apunta Pi, tienen valores mayores o iguales que Ki1y menores que Km1

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Ejemplo de un rbol B+ rbol B+ del archivo n=5 La raz debe tener al menos 2 hijos. Los nodos hoja deben tener entre 2 y 4 valores Otros nodos que no son hoja, excepto la raz, deben tener entre 3 y 5 hijos.

Consultas sobre rboles B+ Encontrar todos los registros con valor de la clave de bsqueda k. 1. Empezar con el nodo raz Examinar el nodo para el menor valor de clave de bsqueda > k. Si existe un valor as, suponer que es Ki. Entonces, siguen Pi al nodo hijo De lo contrario, k Km1, donde hay m punteros en el nodo. Entonces, siguen Pm al nodo hijo. Si el nodo alcanzado siguiendo el puntero anterior no es un nodo hoja, repetir el procedimiento anterior sobre el nodo y seguir el correspondiente puntero.

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Al procesar una consulta un camino recorre el rbol, desde la raz hasta algn nodo hoja. Si hay K valores de clave de bsqueda en el archivo, el camino no es mayor que logn/2(K). Con 1 milln de valores de clave de bsqueda y n = 100, como mximo log50(1.000.000) = 4 nodos son accedidos en una bsqueda. Contrasta esto con un libre binario equilibrado con 1 milln de valores de clave de bsqueda, en una bsqueda se accede a alrededor de 20 nodos la diferencia anterior es importante, dado que los accesos a los nodos pueden necesitar una E/S de disco, con un coste estimado de entorno a 20 milisegundos!

Actualizaciones sobre rboles B+: Insercin Encontrar el nodo hoja en que aparecera el valor de la clave de bsqueda Si el valor de la clave de bsqueda ya est en el nodo hoja, se aade el registro al archivo y, si es necesario, se inserta un puntero en el cajn. Si el valor de la clave de bsqueda no est all, se aade el registro al archivo principal y, si es necesario, se crea un cajn.

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro

Actualizaciones sobre rboles B+: Borrado Encontrar el registro a borrar y eliminarlo del archivo principal y del cajn (si est presente) Eliminar (valor de la clave de bsqueda y puntero) del nodo hoja si no hay ningn cajn, o si se ha quedado vaco Los borrados de nodos pueden propagarse en cascada hacia arriba, hasta encontrar un nodo que tenga n/2 o ms punteros. Si el nodo raz tiene despus del borrado un solo puntero, se borra y el hijo nico se convierte en la raz.

10

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro

Antes y despus de borrar Pamplona La eliminacin del nodo hoja conteniendo Pamplona no result en su padre, al tener demasiados pocos punteros. As, los borrados en cascada se detienen al borrar el padre del nodo hoja.

Organizacin de Archivos con rboles B+ Se resuelve la degradacin de las bsquedas en el ndice mediante el uso de ndices de rbol B+ en el archivo. Tambin se soluciona el problema de la degradacin al almacenar los registros reales utilizando el nivel de hoja del rbol B+ para almacenar los registros reales en los bloques. En este caso, los nodos hoja del rbol almacenan registros, en lugar de almacenar punteros a registros. La insercin y borrado se trata del mismo modo que en un ndice de rbol B+.

11

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


ASOCIACION

Un inconveniente de la organizacin de archivos secuenciales es que hay que acceder a una estructura de ndices para localizar los datos lo cual da como resultado ms operaciones de entrada/salida

La organizacin de archivos basada en la tcnica de asociacin (hashing) permite evitar el acceso a la estructura de ndice

CAJON En una organizacin de archivos por asociacin se obtiene la direccin del bloque de disco que contiene el registro deseado mediante el clculo directo de una funcin sobre el valor de la clave de bsqueda del registro

El trmino cajn (bucket) indica una unidad de almacenamiento que puede guardar uno a ms registros (normalmente un bloque de disco)

12

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Funcin de Asociacin Sea K el conjunto de todos los valores de clave de bsqueda y sea B el conjunto de todas las direcciones de cajn Una Funcin de Asociacin h es una funcin de K a B

Insertar: Se calcula h(K), se busca el cajn con esa direccin y se inserta el registro Bsqueda: se calcula h(K) y se busca el registro en el cajn con esa direccin Borrado: se calcula h(K), se busca el cajn con esa direccin, se localiza el registro a borrar

Clases de Funciones

Funcin de Asociacin ideal: cada cajn tiene el mismo nmero de registros. Durante la etapa de diseo no se sabe qu valores de clave de bsqueda se almacenaran; Se pretende elegir una funcin que cumpla los siguientes requisitos: Distribucin Uniforme: Cada cajn tiene asignado el mismo nmero de valores de la clave de bsqueda Distribucin Aleatoria: Cada cajn tiene, en promedio, casi el mismo nmero de registros, sin tener en cuenta la distribucin de los valores de la clave de bsqueda

13

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Eleccin Funcin Asociacin

Las funciones de Asociacin requieren un diseo cuidadoso Una mala funcin de asociacin podra provocar que una bsqueda tome un tiempo proporcional al nmero de claves de bsqueda en el archivo Una funcin bien diseada, en un caso medio de bsqueda, toma un tiempo constante, independiente del nmero de claves de bsqueda en el archivo Asociacin Dinmica Fijar el nmero de cajones a priori es un problema para bases de datos que crecen en el tiempo (Asociacin Dinmica) Elegir una funcin de asociacin basada en el tamao actual del archivo (degradacin del rendimiento a medida que crece la base de datos) Elegir una funcin de asociacin basada en el tamao previsto del archivo en un determinado punto del futuro (inicialmente desperdicia espacio y al final acaba degradndose) Reorganizar peridicamente la estructura en respuesta al crecimiento del archivo (requiere tiempo y es necesario prohibir el acceso al sistema mientras se lleva a cabo)

14

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


ndices Asociativo

15

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


Definicin de ndices en SQL Norma SQL administrador de la base de datos ninguna manera de controlar qu ndices se crean y se mantienen Un ndice se crea/elimina mediante la orden create/drop index create index nombre_ndice on nombre_relacin (lista de atributos) drop index nombre_ndice

create index ndice_s on sucursal (nombre_sucursal) create unique index ndice_s on sucursal (nombre_sucursal)

Clave de Bsqueda es Clave Candidata

drop index ndice_s

Varios ndices Para cierto tipo de consultas resulta ventajoso tener mltiples ndices ndice para nombre_sucursal ndice para saldo Encontrar todos los nmeros de cuenta de la sucursal de Santiago con saldo igual a 1000

16

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro


A. Usar ndice para nombre_sucursal y luego examinar los registros para ver si saldo=1000 B. Usar ndice para saldo y luego examinar los registros para ver si nombre_sucursal=Santiago C. Usar ndice para nombre_sucursal y usar ndice para saldo y luego hacer una interseccin Archivos en Retcula

17

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Universidad San Pedro

ndice Multiclave

18

Curso: Base de Datos II Profesor: FreRivera Montero Fredy

Alumnos:

Kenyi Daniel Pea Villegas Jhony Ruiz Encalada Jonatn Morales Ramrez

Anda mungkin juga menyukai