El documento describe la estructura y funcionamiento de los índices tipo B+. Explica que estos índices mantienen su eficiencia durante la inserción y borrado de datos a diferencia de los índices secuenciales. Describe que los nodos internos forman un índice multinivel sobre los nodos hoja y que los árboles deben mantenerse equilibrados. También incluye ejemplos del proceso de inserción y borrado en un árbol B+.
2. Indices tipo 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.
3. Estructura de un árbol 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
4. Estructura de nodos hoja
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.
5. Estructura de nodos hoja
Notar que el archivo Cuenta está ordenado por nombreSucursal,
por eso, los punteros llevan directamente a los registros del archivo.
6. Estructura de nodos hoja
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.
7. Estructura de nodos
internos
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.
8. El nodo Raíz
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.
11. Inserción
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.