Upload
miguel-orquera
View
4.675
Download
0
Embed Size (px)
Citation preview
INDICES TIPO ARBOL B+
Miguel Orquera
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+
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+
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
Estructura de nodos hoja
Notar que el archivo Cuenta está ordenado por nombreSucursal, por eso, los punteros llevan directamente a los registros del archivo.
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
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
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
Ejemplo de índice árbol B+
Ejemplo de índice árbol 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
Inserción
Borrado
Borrado