Indices tipo arbol b+

14
INDICES TIPO ARBOL B + Miguel Orquera

Transcript of Indices tipo arbol b+

Page 1: Indices tipo arbol b+

INDICES TIPO ARBOL B+

Miguel Orquera

Page 2: Indices tipo arbol b+

El problema de los archivos secuenciales

indexados es que se deteriora su rendimiento cuando crece por lo que se debe reorganizar el archivo cada cierto tiempo.

El índice tipo árbol B+ es mas utilizado porque mantienen su eficiencia drante el borrado e inserción de datos.

Es un árbol equilibrado donde la distancia de la raíz a cualquier nodo hoja es constante.

Indices tipo B+

Page 3: Indices tipo arbol b+

Es un indice multinivel donde cada nodo puede

tener un máximo de n punteros y n-1 claves de búsqueda. Los valores de la clave de búsqueda de un nodo se encuentran ordenados; así, si i<j entonces ki<kj

Estructura de un árbol B+

Page 4: Indices tipo arbol b+

Para i=1, 2, 3, ….. ,n-1, el puntero pi apunta o bien

a un registro del archivo con con valor de clave de búsqueda Ki, o bien a un cajón de punteros, cada uno de los cuales apunta a un registro del archivo con valor de clave de búsqueda Ki.

La estructura de cajón se usa solamente si la clave de búsqueda no es una clave candidata y si el archivo no está ordenado según la clave de búsqueda.

El puntero pn apunta la siguiente nodo hoja para facilitar una búsqueda secuencial.

Estructura de nodos hoja

Page 5: Indices tipo arbol b+

Estructura de nodos hoja

Notar que el archivo Cuenta está ordenado por nombreSucursal, por eso, los punteros llevan directamente a los registros del archivo.

Page 6: Indices tipo arbol b+

Cada nodo hoja puede guardar hasta n-1

valores y deben tener mínimo (n-1)/2 valores, si el valor tiene decimales, se asume el valor entero siguiente.

Si el índice es denso, cada valor de la clave de búsqueda debe aparecer en un nodo hoja.

Estructura de nodos hoja

Page 7: Indices tipo arbol b+

Los nodos internos del índice árbol B+ forman un

índice multinivel disperso sobre los nodos hoja. Un nodo interno puede guardar hasta n punteros y

debe guardar ala menos n/2 punteros. Si este valor tiene decimales se asume el siguiente valor entero.

El puntero a la izquierda del valor Ki apunta al subárbol que tiene claves de búsqueda menores que Ki, y el puntero a la derecha de Ki apunta a un subárbol cuyos valores son mayores o iguales a Ki.

Estructura de nodos internos

Page 8: Indices tipo arbol b+

A diferencia de otros nodos internos el nodo

raíz puede tener como mínimo un valor de clave de búsqueda entre dos punteros.

Los árboles deben quedar siempre equilibrados, de allí viene su nombre B (balanceado).

El número de punteros n es constante en todos los nodos del árbol, si un árbol tiene n=3 quiere decir que todos los nodos pueden tener como máximo hasta 3 punteros.

El nodo Raíz

Page 9: Indices tipo arbol b+

Ejemplo de índice árbol B+

Page 10: Indices tipo arbol b+

Ejemplo de índice árbol B+

Page 11: Indices tipo arbol b+

Se desea insertar un registro cuyo nombre

Sucursal es Cádiz, siendo el índice el de la fig 12.8.

Cádiz debe aparecer entre Barcelona y Daimiel, pero ese nodo está lleno, por lo que se divide el nodo en dos, como indica la figura.

Inserción

Page 12: Indices tipo arbol b+

Inserción

Page 13: Indices tipo arbol b+

Borrado

Page 14: Indices tipo arbol b+

Borrado