Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Escuela de PosGrado
Doctorado en Estadística e Informática
Base de Datos 1
Tema 6: Diseño Físico de Bases de Datos
2
Introducción
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 3
ISBN 0 534-37597-9.
Introducción
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 4
ISBN 0 534-37597-9.
Introducción
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 5
ISBN 0 534-37597-9.
Introducción
7
Árboles B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 8
ISBN 0 534-37597-9.
Árboles B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 10
ISBN 0 534-37597-9.
árbol multiway de órden 4 / árbol 4-way
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 11
ISBN 0 534-37597-9.
árbol multiway de órden 5 / árbol 5-way
KRUSE, R. L.; RYBA, A. J. Data Structures and Program Design in C++. New Jersey: Prentice Hall, 12
2000. ISBN 0–13–087697–6.
Árboles B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 13
ISBN 0 534-37597-9.
Árboles B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 14
ISBN 0 534-37597-9.
Árboles B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 16
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 17
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 19
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 20
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 21
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 22
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 23
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 24
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 25
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 26
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 27
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 28
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 29
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 30
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 31
ISBN 0 534-37597-9.
Inserción de una llave en un árbol B
InsertaEnArbolB (K)
encontrar la hoja nodo para insertar K
fin ← falso
mientras fin=false hacer
si nodo no está lleno
insertar K en la hoja nodo
fin ← true
caso contrario
dividir nodo en nodo1 y nodo2
distribuir las llaves y referencias a los nodos nodo1 y nodo2
K ← última llave del nodo1
si nodo era la raiz del árbol
crear una nueva raiz como padre de nodo1 y nodo2
insertar K en la nueva raiz
actualizar las referencias de la nueva raiz
fin ← true
caso contrario
nodo ← el padre del nodo
fin mientras
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 32
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 33
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 34
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 35
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 36
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 37
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 38
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 39
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 41
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 42
ISBN 0 534-37597-9.
Eliminación de una llave en un árbol B
DROZDEK, A. Data structures and algorithms in C++. 2. CA, USA: Brooks/Cole Publishing Co., 2001. 43
ISBN 0 534-37597-9.
EliminaDeArbolB(K, raiz)
nodo ← busqueda(K, raiz)
si nodo no es nulo
si nodo no es una hoja
S ← sucesor de K
copiar S sobre K en el nodo
nodo ← hoja que contiene S
elimnar S del nodo
caso contrario
elimnar K del nodo
fin ← falso
Mientras fin = false hacer
si la cantidad de elementos del nodo ≥ |m/2|-1
fin ← true
caso contrario
si existe un hermano del nodo con suficientes llaves
redistribuir las llaves entre el hermano y el nodo
fin ← true
caso contrario
si el padre del nodo es la raiz
si el padre tiene una sola llave
fusionar nodo, padre y hermano para formar una nueva raiz
caso contrario
fusionar nodo y su hermano
fin ← true
else
fusionar nodo y su hermano
nodo ← padre del nodo
Ejercicio 1
• Se tiene un árbol de orden 4, diseñar el esquema que
representa el árbol B que resulta luego de insertar las
siguientes llaves de búsqueda K, en el siguiente orden
(el árbol inicialmente se encuentra vacio)
a)K=20 i)K=15
b)K=30 j)K=7
c)k=40 k)k=6
d) k=35 l) k=1
e)K=36 m)K=4
f)K=25 n)K=8
g)k=22 ñ)k=18
h) k=5 o) k=50
Ejercicio 2
• Dado el árbol resultante de la pregunta anterior, se
solicita que diseñe el esquema del árbol B que resulta
de eliminar las siguientes llaves de búsqueda K, en el
siguiente orden.
a) K=40
b)K=1
c)k=6
d) k=35
e) k=25