La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Bases de datos II Universidad del Cauca Ing. Wilson Ortega."— Transcripción de la presentación:

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

2 Introducción El inconveniente principal de la organización de un archivo secuencial indexado reside en que el rendimiento, tanto para buscar en el índice como para buscar secuencialmente a través de los datos, se degrada según crece el archivo. La estructura de índice de árbol B+ es la más extendida de las estructuras de índices que mantienen su eficiencia a pesar de la inserción y borrado de datos. Un índice de árbol B+ toma la forma de un árbol equilibrado donde los caminos de la raíz a cada hoja del árbol son de la misma longitud.

3 Terminología básica El factor de equilibrio de un árbol es la diferencia en altura entre los subárboles derecho e izquierdo. Un árbol está perfectamente equilibrado si su equilibrio o balance es cero y sus subárboles son también perfectamente equilibrados Un árbol está equilibrado si la altura de sus subárboles difiere en no más de uno y sus subárboles son también equilibrados Un árbol perfectamente balanceado es aquel en el que para cada nodo el número de nodos en sus subárboles derecho e izquierdo difieren como máximo en uno

4 Terminología básica Raíz: único nodo sin padre Nodo interno: tiene al menos un hijo Nodo hoja (externo): no tiene hijos Descendiente directo: hijo Descendientes: hijo, nieto... Subárbol: árbol formado por un nodo y sus descendientes Grado de un nodo: número 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 número de hijos Árboles con grado  2 Profundidad de un nodo: número de predecesores Altura del árbol: profundidad máxima de cualquier nodo subárbol A BDC GH E F IJ K

5 Estructura del árbol B+ Nodo típico de un árbol B+ Cada nodo puede contener hasta n – 1 claves de búsqueda K1, K2,..., Kn–1 y n punteros P1, P2,..., Pn. Los valores de la clave de búsqueda 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 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 la clave de búsqueda Ki. La estructura cajón se usa solamente si la clave de búsqueda no forma una clave primaria y si el archivo no está ordenado según la clave de búsqueda Se usa Pn para encadenar juntos los nodos hojas en el orden de la clave de búsqueda. Esta ordenación permite un procesamiento secuencial eficaz del archivo

6 Estructura del árbol B+ Árbol B+ con n=3

7 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 búsqueda 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 búsqueda debe aparecer en algún 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 podría guardar hasta n punteros y debe guardar al menos n/2 punteros. A diferencia de otros nodos internos, el nodo raíz 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

8 Consultas en un árbol B+ Para procesar una consulta, se tiene que recorrer un camino en el árbol desde la raíz hasta algún nodo hoja. Si hay K valores de la clave de búsqueda en el archivo, este camino no será más largo que log (n/2) (K) Generalmente un nodo se construye para tener el mismo tamaño que un bloque de disco, el cual ocupa normalmente 4 KB. Con una clave de búsqueda del tamaño de 12 bytes y un tamaño del puntero a disco de 8 bytes, n está alrededor de 200 Incluso con una estimación más conservadora de 32 bytes para el tamaño de la clave de búsqueda, n está en torno a 100. Con n = 100, si se tienen un millón de valores de la clave de búsqueda en el archivo, una búsqueda necesita solamente Log 50 (1.000.000) = 4 accesos a nodos

9 Actualizaciones en un árbol B+ Durante una actualización podría ser necesario dividir un nodo que resultara demasiado grande como resultado de una inserción, o fusionar nodos si un nodo se volviera demasiado pequeño. Cuando se divide un nodo o se fusionan un par de ellos, se debe asegurar que el equilibrio del árbol se mantiene

10 Ejercicio Consultar los algoritmos de inserción 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

11 Bibliografía Fundamentos de Bases de Datos. 4ta edición. A. Silberschatz


Descargar ppt "Bases de datos II Universidad del Cauca Ing. Wilson Ortega."

Presentaciones similares


Anuncios Google