Capitulo 5 Indexación y Asociación en Bases de Datos
Capitulo 5 Indexación y Asociación en Bases de Datos
Capitulo 5 Indexación y Asociación en Bases de Datos
ndices Ordenados
Archivos de ndices de rbol B+
Archivos con ndices de rbol B
Asociacin esttica
Asociacin dinmica
Comparacin de la Indexacin ordenada y la Asociacin
Definicin de ndices en SQL
Accesos multiclave
12.2
Conceptos bsicos
El mecanismo de Indexado es utilizado para el acceso rpido a datos
solicitados.
ndices) de la forma:
Puntero
Clave de bsqueda
Hay dos tipos bsicos de ndices:
12.3
Tiempo de acceso
Tiempo de insercin
Tiempo de borrado
12.4
ndices ordenados
Un ndice ordenado almacena de manera ordenada los valores de
12.5
12.6
12.7
Sobre archivos
secuenciales
indexados
12.8
ndice multinivel
Si el ndice primario no cabe en la memoria principal, el acceso
12.9
Sobre archivos
secuenciales
indexados
12.10
ndice disperso
Sobre archivos
secuenciales
indexados
Database System Concepts - 5th Edition, Oct 4, 2006
12.11
12.12
ndices Secundarios
Con frecuencia, se quiere encontrar todos los registros cuyos
12.13
12.14
registros.
PERO: la actualizacin de los ndices provoca una sobrecarga en la
12.15
12.16
longitud
Cada nodo que no es la raz o una hoja tiene entre n/2 y n hijos,
12.17
Estructura de rbol B+
Nodo tpico:
12.18
bsqueda.
12.19
sobre los nodos hoja, para un nodo interno con m punteros sucede:
Todas las claves de bsqueda del sub rbol, Los cuales son
apuntados por P1 son menores que K1.
12.20
Ejemplo de rbol B+
12.21
Ejemplo de un rbol B+
con n =5).
La raz puede tener al menos 2 hijos
12.22
Observaciones de rboles B+
Los nodos no hojas del rbol B+ forman una jerarqua de ndices
dispersos.
El rbol B+ contiene relativamente un numero pequeo de niveles
.. etc.
12.23
12.24
12.25
de bsqueda.
2. Si el valor de la clave de bsqueda ya aparece en el nodo hoja
1.
2.
2.
12.26
12.27
12.28
desde su padre.
12.29
12.30
12.31
redistribuir
12.32
punteros a registros.
El nmero mximo de registros que se pueden almacenar en un nodo
12.33
12.34
problemas:
12.35
12.36
12.37
12.38
La tercera utiliza ambos ndices pero podra ser una mala eleccin cuando:
12.39
a1 < b1,
a1=b1 y a2 < b2
12.40
Temas a investigar
Claves de Bsqueda duplicadas
ndices de cobertura
ndices secundarios y reubicacin de registros
rboles R
12.41
Asociacin
Ing. Hernn Nina Hanco
Asociacin esttica
12.43
Ejm. h(Perryridge) = 5
12.44
12.45
Funciones de asociacin
La peor funcin posible asigna todos los valores de clave de bsqueda
12.46
Cajones insuficientes
12.47
12.48
ndices asociativos
La asociatividad se puede utilizar no solamente para la organizacin
de ndices secundarios.
12.49
La funcin
de
asociacin
utilizada
calcula la
suma de
los dgitos
del nmero
de cuenta
mdulo siete
12.50
12.51
12.52
Asociacin dinmica
12.53
En esta estructura, i2 = i3 = i, si i1 = i 1
Database System Concepts - 5th Edition, Oct 4, 2006
12.54
1. Calcular h(Kj) = X
2. Tomar los primeros i bits mas significativos de X se busca la entrada
de la tabla que corresponda a esta cadena de bits, y se sigue el
puntero del cajn en la entrada de la tabla.
Para insertar un registro con un valor de la clave de bsqueda Kj se
12.55
apunta al cajn j)
Se asigna un nuevo cajn z, y se cambia ij = iz = (ij + 1)
La primera mitad de todas las entradas se dejan como estaban
(apuntando al cajn j) y el resto de entradas se ponen apuntando al
cajn recin creado (cajn z).
Por ltimo, se vuelve a calcular la funcin de asociacin para cada
registro en el cajn j y se colocan o bien en el cajn j o bien en el
cajn z recin creado. Luego se vuelve a intentar la insercin. En el
caso poco probable de que vuelva a fallar.
12.56
apunta al cajn j)
Es necesario incrementar el tamao de la tabla de direcciones de los
cajones para incluir los punteros a los dos cajones que resultan de la
divisin del cajn j. Esto se hace considerando un bit adicional en el
valor de la funcin de asociacin. Luego se incrementa el valor de i
en uno, duplicando el tamao de la tabla de direcciones de cajones.
Cada entrada se sustituye por dos entradas, cada una de las cuales
con el mismo puntero que la entrada original. Ahora dos entradas en
la tabla de direcciones de cajones apuntan al cajn j. As pues, se
asigna un nuevo cajn (cajn z) y hacemos que la segunda entrada
apunte al nuevo cajn. Se pone ij e iz a i. A continuacin se vuelve a
calcular la funcin de asociacin para cada registro del cajn j y,
dependiendo de los primeros i bits, se mantiene en el cajn j o se
coloca en el cajn recin creado.
12.57
12.58
12.59
Ejemplo (Cont.)
Estructura asociativa despus de tres inserciones
12.60
Ejemplo (Cont.)
Estructura asociativa despus de cuatro inserciones
12.61
Ejemplo (Cont.)
12.62
Ejemplo (Cont.)
Estructura asociativa extensible para el archivo cuenta
12.63