Académique Documents
Professionnel Documents
Culture Documents
Integrantes:
Herrera, Manuel C.I. 17.171.090
Balladares, Edgar C.I. 17.631.176
ESTRUCTURAS DE ARBOLES
Y HASHING
Agenda:
AGENDA
1.Estructuras de Árboles
ARBOLES
HASHING
1.1 Idea Intuitiva de Índices
Multinivel
1.2 Método de Acceso Secuencial
Indexado (ISAM)
1.3 Arboles B+: Una estructura
dinámica de datos
1.4 Búsqueda en Arboles
1.5 Inserción en Arboles
1.6 Eliminación en Arboles
1.7 Duplicados en Arboles
18 Arboles B+ en Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
AGENDA Agenda:
ARBOLES 2.Hashing
HASHING
2.1 Hashing Estático
2.2 Hashing Extensible
2.3 Hashing Lineal
2.4 Hashing Lineal vs. Hashing
Extensible
ESTRUCTURAS DE ARBOLES
Y HASHING
ARBOLES
• Idea Intuitiva
• Método ISAM
• Árboles B+
• Búsqueda
• Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ÍNDICES MULTINIVEL
ESTRUCTURAS DE ARBOLES
Y HASHING
ÍNDICES MULTINIVEL
ÍNDICES MULTINIVEL
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
¿Qué es un Árbol B+?
• Idea Intuitiva o Árbol balanceado en el cual los nodos
• Método ISAM internos dirigen la búsqueda, y los nodos
• Árboles B+ “hoja” contienen las entradas de datos.
• Búsqueda o Para acceder a todos los nodos hoja de
• Inserción manera eficiente, se enlazan utilizando
• Eliminación apuntadores.
• Duplicados
• Árboles B+ en o Se organizan los datos en una lista
Práctica doblemente enlazada, de manera que se
mantenga el acceso secuencial en cualquier
dirección
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Estructura de un Árbol B+
• Idea Intuitiva
• Método ISAM Entradas de
• Árboles B+ índices
(para dirigir la
• Búsqueda búsqueda)
• Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica Entradas de
Datos
(“Conjunto de
secuencias”)
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Principales Características de un
• Idea Intuitiva Árbol B+
• Método ISAM o Operaciones básicas (inserción, eliminación),
• Árboles B+ mantienen el árbol balanceado.
• Búsqueda
• Inserción o La búsqueda de un registro requiere solo un
• Eliminación recorrido trasversal desde la raíz a el nodo
• Duplicados hoja apropiado.
• Árboles B+ en
Práctica o Cada nodo (a excepción de la raíz) tendrá
una ocupación mínima del 50% (en espacio).
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Formato de un Nodo
• Idea Intuitiva Generalmente, un árbol B+ contiene m
• Método ISAM entradas, en donde d ≤ m ≤ 2d. Siendo d el
• Árboles B+ “orden del árbol”, lo que es una medida de
• Búsqueda capacidad de los nodos.
• Inserción
• Eliminación El formato de un nodo es el mismo que el
• Duplicados usado en el método ISAM. Los nodos no-hoja
• Árboles B+ en con m entradas de índices contienen m+1
Práctica punteros a sus hijos.
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Formato de un Nodo
• Idea Intuitiva
• Método ISAM P0 K1 P1 K2 P2 ……… Km Pm
• Árboles B+
• Búsqueda
• Inserción Ki son los valores de claves de búsqueda
• Eliminación
• Duplicados Pi son punteros a los hijos para nodos no
• Árboles B+ en hoja o punteros a registros, o cajones de
Práctica punteros a registros para nodos hojas.
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Ahora, un ejemplo…
• Idea Intuitiva
• Método ISAM
• Árboles B+
• Búsqueda
• Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Algoritmo de Búsqueda
• Idea Intuitiva
• Método ISAM
• Árboles B+
• Búsqueda
• Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Inserción en Árboles B+
• Idea Intuitiva El algoritmo de inserción toma una entrada,
• Método ISAM encuentra el nodo hoja al cual pertenece y lo
• Árboles B+ inserta allí.
• Búsqueda
• Inserció
Inserción Usualmente, este proceso resulta en bajar
• Eliminación (de manera recursiva) hasta el nodo hoja al
• Duplicados cual pertenece la nueva entrada, ubicar la
• Árboles B+ en entrada, y luego retornar hasta la raíz.
Práctica
¿Qué pasa cuando un nodo está lleno?
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Inserción en Árboles B+
• Idea Intuitiva
• Método ISAM
• Árboles B+
• Búsqueda Veamos el Algoritmo!
• Inserció
Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Inserción en Árboles B+
• Idea Intuitiva Un ejemplo… Volvamos al árbol de ejemplo
• Método ISAM anterior
• Árboles B+
• Búsqueda
• Inserció
Inserción
• Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Eliminación en Árboles B+
• Idea Intuitiva Se inicia en la raíz, se busca la hoja en
• Método ISAM donde se encuentra la entrada a borrar.
• Árboles B+
• Búsqueda Se elimina la entrada
• Inserción
• Eliminació
Eliminación Si al eliminar una entrada el nodo queda por
• Duplicados debajo del nº mínimo de elementos, se
• Árboles B+ en redistribuyen los elementos restantes, de
Práctica manera que el árbol se mantenga
balanceado.
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Eliminación en Árboles B+
• Idea Intuitiva
• Método ISAM
• Árboles B+
• Búsqueda Algoritmo de eliminación…
• Inserción
• Eliminació
Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Eliminación en Árboles B+
• Idea Intuitiva Ejemplo…
• Método ISAM
• Árboles B+
• Búsqueda
• Inserción
• Eliminació
Eliminación
• Duplicados
• Árboles B+ en
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Elementos Duplicados
• Idea Intuitiva ¿Qué ocurre si tenemos elementos
• Método ISAM duplicados en el árbol?
• Árboles B+
• Búsqueda Una alternativa sería usar nodos de
• Inserción sobrecarga (como en el método ISAM).
• Eliminación
• Duplicados Otra alternativa resulta tratar los duplicados
• Árboles B+ en como cualquier otro elemento. De tal modo
Práctica que pueden haber páginas que contengan
más de una vez a algún elemento que esté
repetido
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Bulk Loading
• Idea Intuitiva La aplicación de Árboles B+ para manejar los
• Método ISAM registros de una base de datos incluye otros
• Árboles B+ conceptos, uno de ellos es el Bulk Loading…
• Búsqueda
• Inserción El Bulk Loading es un método para crear
• Eliminación árboles de datos cuando la colección de
• Duplicados registros es bastante grande, ya que insertar
• Árboles B+ uno a uno los registros usando el algoritmo
en Prá
Práctica de inserción resultaría ser muy costoso.
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Bulk Loading
• Idea Intuitiva El primer paso de la aplicación del Bulk
• Método ISAM Loading es ordenar los registros a ser insertados
• Árboles B+ en el árbol que será creado. Un ejemplo:
• Búsqueda
• Inserción
• Eliminación
• Duplicados
• Árboles B+
en Prá
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Bulk Loading
• Idea Intuitiva Ejemplo de Bulk Loading…
• Método ISAM
• Árboles B+
• Búsqueda
• Inserción
• Eliminación
• Duplicados
• Árboles B+
en Prá
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Bulk Loading
• Idea Intuitiva Bulk Loading vs. Inserción Múltiple
• Método ISAM ¾ Inserción Múltiple
• Árboles B+ • Lento
• Búsqueda • No permite almacenamiento secuencial de
hojas
• Inserción
• Eliminación
¾ Bulk Loading
• Duplicados • Ventajas sobre el control de concurrencia
• Árboles B+ • Pocas operaciones de I/O durante la
en Prá
Práctica construcción
• Las hojas se almacenan de manera
secuencial
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Árboles B+ en DBMS Reales
• Idea Intuitiva IBM DB2, Informix, Microsoft SQL Server,
• Método ISAM Oracle 8 y Sybase ASE, entre otros, soportan la
• Árboles B+ creación de árboles B+ para el manejo de
• Búsqueda índices.
• Inserción
• Eliminación La diferencia entre los mismos radica en la
• Duplicados manera de manejar las eliminaciones y los
• Árboles B+ duplicados.
en Prá
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURA DINÁMICA:
ÁRBOLES B+
ARBOLES
Árboles B+ en DBMS Reales
• Idea Intuitiva Por ejemplo, en Oracle 8 las eliminaciones se
• Método ISAM realizan marcando la fila como borrada, para
• Árboles B+ reutilizar el espacio liberado se pueden
• Búsqueda reconstruir los índices.
• Inserción
• Eliminación DB2 y SQL Server eliminan los registros y
• Duplicados reubican los índices restantes cuando se
• Árboles B+ desbalancea el árbol.
en Prá
Práctica
ESTRUCTURAS DE ARBOLES
Y HASHING
HASHING
• Estático
• Extensible
• Lineal
• Extensible vs.
Lineal
ESTRUCTURAS DE ARBOLES
Y HASHING
Hashing
• Los índices tipo Hash son mejores para búsquedas por
HASHING igualdad y no soportan búsquedas por rango.
• Está
Estático
• Extensible
• Lineal
• Extensible vs.
Lineal
ESTRUCTURAS DE ARBOLES
Y HASHING
Deficiencias
• Está
Estático • Las bases de datos crecen con el tiempo. Si el número inicial
• Extensible de cajones es demasiado chico, la performance se degradará
• Lineal porque abra demasiados cajones de desbordamiento.
• Extensible vs.
• Si el tamaño del archivo va ser grande en un futuro, se pueden
Lineal
tener un gran numero de cajones, pero así se estará
desperdiciando espacio al principio.
ESTRUCTURAS DE ARBOLES
Y HASHING
Deficiencias
• Está
Estático • Una opción es reorganizar periódicamente el archivo con
• Extensible una nueva función de hash, pero esto es muy caro.
• Lineal
• Extensible vs. • Este problema puede ser evitado utilizando técnicas que
permitan que el numero de cajones sean modificados
Lineal
dinámicamente.
ESTRUCTURAS DE ARBOLES
Y HASHING
Hashing Extensible
ESTRUCTURAS DE ARBOLES
Y HASHING
Hashing Extensible
Hashing Lineal
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURAS DE ARBOLES
Y HASHING
ESTRUCTURAS DE ARBOLES
Y HASHING