Вы находитесь на странице: 1из 11

Indexacin usando

rboles
Bases de datos II
Universidad del Cauca
Ing. Wilson Ortega

Introduccin
El inconveniente principal de la organizacin de un

archivo secuencial indexado reside en que el


rendimiento, tanto para buscar en el ndice como para
buscar secuencialmente a travs de los datos, se
degrada segn crece el archivo.
La estructura de ndice de rbol B+ es la ms

extendida de las estructuras de ndices que mantienen


su eficiencia a pesar de la insercin y borrado de
datos. Un ndice de rbol B+ toma la forma de un
rbol equilibrado donde los caminos de la raz a
cada hoja del rbol son de la misma longitud.

Terminologa bsica
El factor de equilibrio de un rbol es la diferencia en altura entre los subrboles derecho e izquierdo.
Un rbol est perfectamente equilibrado si su equilibrio o balance es cero y sus subrboles son tambin

perfectamente equilibrados
Un rbol est equilibrado si la altura de sus subrboles difiere en no ms de uno y sus subrboles son

tambin equilibrados
Un rbol perfectamente balanceado es aquel en el que para cada nodo el nmero de nodos en sus

subrboles derecho e izquierdo difieren como mximo en uno

Terminologa bsica

Raz: nico nodo sin padre

Nodo interno: tiene al menos un hijo

Nodo hoja (externo): no tiene hijos

Descendiente directo: hijo

Descendientes: hijo, nieto...

Subrbol: rbol formado por un nodo y sus descendientes

Grado de un nodo: nmero de descendientes

directos

Grado del rbol: mayor grado de sus nodos

rbol binario: rbol de grado 2

Cada nodo tiene a lo sumo dos descendientes


directos

rboles n-arios o Multicamino:

rbol en el que cualquier nodo puede tener


cualquier nmero de hijos

rboles con grado 2

Profundidad de un nodo: nmero de

predecesores

Altura del rbol: profundidad mxima de cualquier


nodo

subrbol

Estructura del rbol B+


Nodo tpico de un rbol B+

Cada nodo puede contener hasta n 1 claves de bsqueda K1, K2, ..., Kn1 y n punteros

P1, P2, ..., Pn.


Los valores de la clave de bsqueda de un nodo se mantienen ordenados; as, si i < j,
entonces Ki < Kj.
En los nodos hoja: Para i = 1, 2, ..., n 1, el puntero Pi apunta, o bien a un registro del
archivo con valor de la clave de bsqueda Ki, o bien a un cajn de punteros, cada uno de
los cuales apunta a un registro del archivo con valor de la clave de bsqueda Ki.
La estructura cajn se usa solamente si la clave de bsqueda no forma una clave
primaria y si el archivo no est ordenado segn la clave de bsqueda
Se usa Pn para encadenar juntos los nodos hojas en el orden de la clave de bsqueda.
Esta ordenacin permite un procesamiento secuencial eficaz del archivo

Estructura del rbol B+


rbol B+ con n=3

Nodos del rbol B+


Cada hoja puede guardar hasta n 1 valores.
Est permitido que los nodos hojas contengan al menos (n 1)/2 valores.
Los rangos de los valores en cada hoja no se solapan. As, si Li y Lj son

nodos hoja e i < j, entonces cada valor de la clave de bsqueda en Li es


menor que cada valor de la clave en Lj .
Si el ndice de rbol B+ es un ndice denso, cada valor de la clave de
bsqueda debe aparecer en algn nodo hoja
Los nodos internos del rbol B+ forman un ndice multinivel (disperso)
sobre los nodos hoja.
La estructura de los nodos internos es la misma que la de los nodos hoja
excepto que todos los punteros son punteros a nodos del rbol.
Un nodo interno podra guardar hasta n punteros y debe guardar al menos
n/2 punteros.
A diferencia de otros nodos internos, el nodo raz puede tener menos de
n/2 valores; sin embargo, debe tener al menos dos punteros, a menos que
el rbol consista en un solo nodo

Consultas en un rbol B+
Para procesar una consulta, se tiene que recorrer un camino en el

rbol desde la raz hasta algn nodo hoja. Si hay K valores de la


clave de bsqueda en el archivo, este camino no ser ms largo que
log (n/2) (K)
Generalmente un nodo se construye para tener el mismo tamao

que un bloque de disco, el cual ocupa normalmente 4 KB. Con una


clave de bsqueda del tamao de 12 bytes y un tamao del puntero
a disco de 8 bytes, n est alrededor de 200
Incluso con una estimacin ms conservadora de 32 bytes para el

tamao de la clave de bsqueda, n est en torno a 100. Con n =


100, si se tienen un milln de valores de la clave de bsqueda en el
archivo, una bsqueda necesita solamente Log 50 (1.000.000) = 4
accesos a nodos

Actualizaciones en un
rbol B+
Durante una actualizacin podra ser necesario

dividir un nodo que resultara demasiado grande


como resultado de una insercin, o fusionar
nodos si un nodo se volviera demasiado pequeo.
Cuando se divide un nodo o se fusionan un par de

ellos, se debe asegurar que el equilibrio del rbol


se mantiene

Ejercicio
Consultar los algoritmos de insercin y borrado en

rboles B+ y usarlos en el siguiente ejercicio:


Para un rbol B+ con n=4:

Insertar los siguientes valores : 25, 10, 36, 52, 21, 12,
5, 15, 20, 51, 3, 17, 26, 19
Eliminar: 36, 10, 12, 15, 20, 3, 25, 52

Bibliografa
Fundamentos de Bases de Datos. 4ta edicin. A.

Silberschatz

Вам также может понравиться