Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
II. Indexacin y
asociacin
Indexacin y
asociacin
2
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
2
II. Indexacin y
asociacin
1. Conceptos bsicos
Un ndice de BD es similar al ndice de un libro.
Las palabras de ndice estn ordenadas, lo que
hace fcil la bsqueda del trmino que se est
buscando.
El ndice es mucho ms pequeo que el libro, con
lo que se reduce an ms el esfuerzo necesario
para encontrar las palabras en cuestin.
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
3
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
4
II. Indexacin y
asociacin
Tipos de acceso
Tiempo de acceso
Tiempo de insercin
Tiempo de borrado
Espacio adicional requerido.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
5
II. Indexacin y
asociacin
2. ndices ordenados
Cada estructura de ndice est asociada con una
clave de bsqueda concreta.
Si el archivo que contiene los registros est ordenado
secuencialmente, el ndice cuya clave de bsqueda
especifica el orden secuencial del archivo es el ndice
primario o ndice con agrupacin (clustering indices)
Los ndices cuyas claves de bsqueda especifican un
orden diferente del orden secuencial del archivo se
llaman ndices secundarios o ndices sin
agrupacin (non clustering indices).
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
6
II. Indexacin y
asociacin
ndice primario
Los archivos con ndice primario segn una
clave de bsqueda se llaman archivos
secuenciales indexados.
Se emplean en aquellas aplicaciones que
demandan un procesamiento secuencial del
archivo completo as como un acceso directo a
sus registros.
Generalmente el ndice primario es la clave
principal.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
7
II. Indexacin y
asociacin
Clave de bsqueda:
Nombre-Sucursal
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
8
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
9
II. Indexacin y
asociacin
ndice denso
Aparece un registro ndice por cada valor de la clave
de bsqueda en el archivo.
El registro ndice contiene el valor de la clave y un
puntero al primer registro con ese valor de la clave
de bsqueda.
El resto de registros con el mismo valor de la clave
de bsqueda se almacenan consecutivamente
despus del primer registro, dado que, ya que el
ndice es primario, los registros se ordenan sobre la
misma clave de bsqueda.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
10
II. Indexacin y
asociacin
Clave de bsqueda:
Nombre-Sucursal
ndice denso
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
11
II. Indexacin y
asociacin
ndice disperso
Slo se crea un registro ndice para algunos de los
valores.
Cada registro ndice contiene un valor de la clave de
bsqueda y un puntero al primer registro con ese
valor de la clave.
Para localizar un registro se busca la entrada del
ndice con el valor ms grande que sea menor o igual
que el valor que se est buscando. Se empieza por el
registro apuntado por esa entrada del ndice y se
contina con los punteros del archivo hasta
encontrar el registro deseado.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
12
II. Indexacin y
asociacin
Clave de bsqueda:
Nombre-Sucursal
ndice disperso
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
13
II. Indexacin y
asociacin
Densos o dispersos?
ndice denso: ms rpido
ndice disperso: espacio ms reducido y
mantenimiento ms sencillo.
Existe un compromiso que el diseador del sistema debe
mantener entre el tiempo de acceso y el espacio adicional
requerido. Aunque la decisin sobre este compromiso
depende de la aplicacin en particular, un buen
compromiso es tener un ndice disperso con una entrada
del ndice por cada bloque.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
14
II. Indexacin y
asociacin
ndices multinivel
Ejemplo:
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
15
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
16
II. Indexacin y
asociacin
o
a)
b)
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
17
II. Indexacin y
asociacin
B. Si el ndice es disperso:
o Se asume que el ndice almacena una entrada por
cada bloque. Si el sistema crea un bloque nuevo,
inserta el primer valor de la clave de bsqueda (en el
orden de la clave de bsqueda) que aparezca en el
nuevo bloque del ndice. Por otra parte, si el nuevo
registro tiene el menor valor de la clave de bsqueda
en su bloque, el sistema actualiza la entrada del
ndice que apunta al bloque; si no, el sistema no
realiza ningn cambio sobre el ndice.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
18
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
19
II. Indexacin y
asociacin
B. Si el ndice es disperso:
o Si el ndice no contiene un registro ndice con el valor de la
clave de bsqueda del registro borrado, no hay que hacer
nada.
o En caso contrario se emprenden las siguientes acciones:
a) Si el registro borrado era el nico registro con la clave de
bsqueda, el sistema reemplaza el registro ndice
correspondiente con un registro ndice para el siguiente valor
de la clave de bsqueda (en el orden de la clave de
bsqueda). Si el siguiente valor de la clave de bsqueda ya
tiene una entrada en el ndice, se borra en lugar de
reemplazarla.
b) En caso contrario, si el registro ndice para el valor de la
clave de bsqueda apunta al registro a borrar, el sistema
actualiza el registro ndice para que apunte al siguiente
registro con el mismo valor de la clave de bsqueda.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
20
II. Indexacin y
asociacin
ndices secundarios
Los ndices secundarios deben ser densos, ya que
los valores de la clave de bsqueda podran estar
en cualquier lugar del archivo y se necesitara
explorar el archivo completo para encontrar un
valor especfico.
Se puede usar un nivel adicional de referencia
para implementar los ndices secundarios sobre
claves de bsqueda que no sean claves de
bsqueda primarias. Los punteros en estos ndices
secundarios no apuntan directamente al archivo
sino a un cajn que contiene punteros al archivo.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
21
II. Indexacin y
asociacin
ndice secundario del archivo cuenta, con la clave de bsqueda secundaria Saldo
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
22
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
23
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
24
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
25
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
26
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
27
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
28
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
29
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
30
II. Indexacin y
asociacin
Ejemplo
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
31
II. Indexacin y
asociacin
Ejemplo
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
32
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
33
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
34
II. Indexacin y
asociacin
5. Asociacin esttica
Un inconveniente de la organizacin de archivos
secuenciales es que hay que acceder a una
estructura de ndices para localizar los datos o
utilizar una bsqueda binaria y, como resultado,
ms operaciones de E/S.
La organizacin de archivos basada en la tcnica
de asociacin (hashing) permite evitar el
acceso a la estructura de ndice.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
35
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
36
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
37
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
38
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
39
II. Indexacin y
asociacin
Cajones de desbordamiento
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
40
II. Indexacin y
asociacin
ndices asociativos
La asociatividad se puede utilizar no solamente para
la organizacin de archivos sino tambin para la
creacin de estructuras de ndice.
Un ndice asociativo (hash index) organiza las
claves de bsqueda, con sus punteros asociados,
dentro de una estructura de archivo asociativo.
Un ndice asociativo se construye as:
Aplicar una funcin de asociacin sobre la clave de
bsqueda para identificar un cajn.
Luego se almacenan la clave y los punteros asociados
en el cajn (o en los cajones de desbordamiento).
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
41
II. Indexacin y
asociacin
ndice asociativo de la clave de bsqueda nmerocuenta del archivo cuenta. F=suma_digitos MOD 7
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
42
II. Indexacin y
asociacin
6. Asociacin dinmica
Problema de la asociacin esttica: se debe fijar el
conjunto de direcciones de cajn a priori.
Las BD crecen con el tiempo. Si se usan asociaciones
estticas se tienen las sig. opciones:
1. Elegir una funcin de asociacin basada en el
tamao actual del archivo (degradacin del
rendimiento cuando la BD crece).
2. Elegir una funcin de asociacin basada en el
tamao previsto del archivo con relacin a un punto
determinado del futuro (desperdicio de espacio)
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
43
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
44
II. Indexacin y
asociacin
Asociacin extensible
La asociacin extensible hace frente a los
cambios del tamao de la base de datos
dividiendo y fusionando los cajones a medida
que la base de datos aumenta o disminuye.
Como resultado se conserva eficazmente el
espacio.
Puesto que la reorganizacin se realiza sobre un
cajn cada vez, la degradacin del rendimiento
resultante es aceptablemente baja.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
45
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
46
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
47
II. Indexacin y
asociacin
Consultas y actualizaciones
CONSULTAS
Para localizar el cajn que contiene el valor de la
clave de bsqueda Ki, se toman los primeros i bits
ms significativos de h(Ki), 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.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
48
II. Indexacin y
asociacin
INSERCION
Para insertar un registro con un valor de la clave
de bsqueda Ki se sigue el mismo procedimiento
de bsqueda, llegando a algn cajn j. Si hay sitio
en el cajn se inserta el registro en el cajn. Si por
el contrario el cajn est lleno, hay que dividir el
cajn y redistribuir los registros actuales ms uno
nuevo.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
49
II. Indexacin y
asociacin
Divisin de cajones
Primero hay que determinar el valor de la funcin
de asociacin por si fuera necesario incrementar el
nmero de bits i:
Si i = i 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. A continuacin se vuelve a
calcular la funcin de asociacin para cada registro del
cajn j y, dependiendo de los primeros i bits
(recurdese que se ha aadido uno a i), se mantiene en
el cajn j o se coloca en el cajn recin creado.
j
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
50
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
51
II. Indexacin y
asociacin
Ejemplo de insercin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
52
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
53
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
54
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
55
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
56
II. Indexacin y
asociacin
Eliminacin de un registro
Para borrar un registro con valor de la clave de
bsqueda Ki se sigue el mismo procedimiento de
bsqueda, finalizando en algn cajn (j). Se
borran ambos, el registro del archivo y la clave
de bsqueda del cajn. El cajn tambin se
elimina si se queda vaco. Ntese que en este
momento, varios cajones se pueden fusionar,
reduciendo el tamao de la tabla de direcciones
de cajones a la mitad.
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
57
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
58
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
59
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
60
II. Indexacin y
asociacin
Accesos multiclave
Asumamos que el archivo cuenta tiene dos
ndices: uno para el nombre-sucursal y otro
para saldo. Consideremos la consulta :
Encontrar todos los nmeros de cuenta de la
sucursal Pamplona con saldos igual a 1.000 .
select nmero-prstamo
from cuenta
where nombre-sucursal = Pamplona and
saldo = 1000
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
61
II. Indexacin y
asociacin
2.
3.
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
62
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
63
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
64
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
65
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
66
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
67
II. Indexacin y
asociacin
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
68
II. Indexacin y
asociacin
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
69
II. Indexacin y
asociacin
Ejemplo
Campo sexo: puede tomar slo los valores M o F
Atributo nivel-ingresos: 5 niveles:
L1: 0 9.999
L2: 10.000 19.999
L3: 20.000 39.999
L4: 40.000 74.999 y
L5: 75.000 .
Conceptos
bsicos
ndices
ordenados
Archivos y
Arboles B+
Archivos y
Arboles B
Asociacin
esttica
Asociacin
dinmica
70
II. Indexacin y
asociacin
Tarea
Estudiar la eficiencia de los mapas de bits.
Estudiar y resumir la combinacin de la tcnica
de mapa de bits con los rboles B+.
Haga una breve comparacin entre las distintas
formas de indexacin y asociacin estudiadas
indicando sus pro y sus contras al realizar
operaciones de insercin, borrado y consultas