Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICES
LIC. DIEGO KRAUTHAMER
PROFESOR ADJUNTO INTERINO SEDE BUENOS AIRES
AGENDA
Introduccin. Tcnicas de Indexacin. Implementacin en Microsoft SQL Server. Bibliografa.
INTRODUCCION
Qu ocurre cuando la volumetra de la base de datos es elevada? Un ndice es una estructura de disco asociada con una tabla que acelera la recuperacin de registros.
CONCEPTOS BASICOS
Tabla: es un conjunto de extensiones. Extensin: es un conjunto de pginas o bloques. Bloque: es una estructura de pginas con ranuras. Cache de datos: es una estructura de memoria para acceder rpidamente a los datos recientemente accedidos.
Bloques de Datos
TECNICAS DE INDEXACION
ndices ordenados ndices primarios Denso Disperso Multinivel ndices secundarios ndices densos ndices B+ ndices asociativos.
INDICES PRIMARIOS
Determinan el orden fsico de los registros de la tabla. Solo puede existir uno por tabla. No necesariamente se crean sobre la clave primaria
Cmo funciona?
Se busca de a mitades el mayor valor menor o igual que el buscado (mayor de los menores).
INDICES DENSOS
Poseen una entrada por cada valor de bsqueda. Si la tabla poseen valores de clave de bsqueda duplicados, el ndice posee un puntero que lo direcciona al primer registro.
Tabla Cliente
INDICES DISPERSOS
Poseen algunas entradas por cada valor de bsqueda. Si la tabla poseen valores de clave de bsqueda duplicados, el ndice posee un puntero que lo direcciona al primer registro.
ndice sobre el campo ciudad Tabla Ciudad
INDICES MULTINIVEL
Surgen crendose un ndice denso sobre uno disperso . Se anidan niveles de indexacin.
Ejemplo de ndice multinivel Ciudad
Tabla Ciudad
Barcelona Daimel Daimel Madrid Pamplona Pamplona Reus Ronda 750 500 600 700 400 900 700 350
INDICES SECUNDARIOS
No determinan el orden fsico de los registros de la tabla. Pueden existir varios por tabla. Para valores de clave repetidos se utiliza un cajn de punteros o se genera un valor para entrada del ndice.
ndice denso campo cdigo de ciudad Tabla Ciudad
C-005 C-101 C-217 C-305 C-489 C-569 C-879 C-889 C-968 C-987
C-217 C-101 C-305 C-489 C-968 C-889 C-569 C-005 C-879 C-987
Buenos Aires Buenos Aires Buenos Aires Buenos Aires Crdoba Crdoba San Juan San Juan San Luis San Luis
INDICES DE ARBOL B+
Poseen una estructura jerrquica o de rbol. Componentes Nodo Puntero Grado de salida (N) Clave (K) Caractersticas Todos los nodos poseen el mismo grado de salida. Todas las bsquedas poseen la misma longitud del camino.
INDICES B+ ESTRUCTURA
Puntero Nodo Raz
Nodo Interno
Tabla Ciudad
C-217 C-101 C-110 C-215 C-102 C-201 C-222 C-305
Nodo Hoja
25 27
Tabla Ciudad
21 24
Tabla Ciudad
BUSQUEDAS EN INDICES B+
Comienzo Buscar puntero de clave menor de los mayores
Es nodo raz?
SI
NO
Es nodo hoja?
NO
SI
Fin
BUSQUEDAS EN INDICES B+
Busco 21
No sabemos que valor tendr, Pero si que va a ser mayor porque Son ndices ordenados
21
7
25 57
VERDADERO
21
25
57 84
INSERCION EN INDICES B+
Se insertan en el nivel de hojas. Si la pgina del nivel de hoja est completa, se parte y se copian la mitad de los elementos en la siguiente pgina Si alguna pgina de los niveles no hoja est completa, se parte y se copian la mitad de los elementos en la siguiente pgina de ese nivel
INSERCION EN B+ EJEMPLO
Inserto 5
INSERCION EN B+ EJEMPLO
Inserto 7
INSERCION EN B+ EJEMPLO
Inserto 21
21?
INSERCION EN B+ EJEMPLO
Inserto 21
5
El nodo se encuentra lleno: - se crea un nuevo nodo - se copia el 7 - se inserta 21
21
INSERCION EN B+ EJEMPLO
Inserto 21 se crea un nuevo nodo raiz para referenciar al nodo creado. Pasamos a tener un arbol de altura o nivel 2. Mientras ms altos, menos performance.
21
BORRADO EN INDICES B+
Se borra la clave del nivel de hoja Si la hoja queda con menos de (n-1)/2 claves, se une con la siguiente y se borra la clave en el nivel superior que la referencia Si la pgina no hoja queda con menos de n/2 claves se une con la siguiente y se borra la clave en el nivel superior que la referencia
BORRADO EN B+ EJEMPLO
Borro 7
21
7
25 57
21
25
57 84
BORRADO EN B+ EJEMPLO
Borro 7
21
7
25 57
21
25
57 84
BORRADO EN B+ EJEMPLO
Borro 7
25
21
57
21
25
57 84
BIBLIOGRAFIA
Obligatoria Fundamentos de Bases de Datos Korth. Editorial Mc Graw Hill Becas Control F. Mdulo de Programacin. Buffa Sistemas
Complementaria Blog de Maxi Acotto. http://maxiaccotto.com/category/tuning.aspx