Está en la página 1de 38

Contenido

El DBA El SMBD
Manejo de memoria Manejo de Memoria

Manejo de memoria
Componentes del SMBD Tipos de memoria Acceso a la base de datos Archivos
Encabezado Registro Tamao de un archivo Organizaciones de archivo
Secuencial Hash Indexada

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Vas de acceso
Marzo 2012 Administracin de Base de Datos 2

Organizaciones de Archivo Clase anterior


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Organizacin Secuencial
Montculo
Ordenada

Restauracin

Organizacin Directa
Tcnicas Hash
Manejo de Colisiones

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Qu es un ndice? Tipos de ndices Organizacin Secuencial ordenada indexada Organizacin directa indexada Otras ndices multinivel Estructuras de datos
Listas Arboles B y B+ Indices Bitmap

Marzo 2012

Administracin de Base de Datos

Qu es un ndice?

Ttulo No pag

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Qu es un ndice?
Un ndice en una BD es similar al ndice de un libro, es una estructura que puede consultarse al buscar elementos de datos en una BD.
Indice Datos

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Definicin de ndice
Es una estructura de datos llamada Archivo de Indice que permite al SMBD localizar registros concretos dentro de un Archivo de datos, de manera ms rpida. Entrada de datos: registro del archivo ndice

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

<K, P> <K, lista-P> K: campos indexados (clave de bsqueda) P: apuntador a pgina

Si K est compuesto de un solo atributo entonces el ndice es simple, Si no el ndice es compuesto

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Organizaciones de ndice
Secuenciales ordenados: estn ordenados fsicamente segn el valor de la clave K. Directos (hash): estn organizados segn una funcin hash sobre la clave K.

Restauracin

Concurrencia
Diccionario Datos

En este curso se trabajara con ndices secuenciales ordenados

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Tipos de ndices
Primario: El ndice esta construido sobre un archivo ordenado sobre un campo clave de ordenamiento. Agrupado: El ndice esta construido sobre un archivo ordenado sobre un campo no clave de ordenamiento. Secundario: El ndice esta construido sobre un archivo no ordenado o sobre un campo que no es clave de ordenamiento.

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

ndice primario

Los ttulos est en el mismo orden interno y son nicos dentro del libro

Marzo 2012

Administracin de Base de Datos

10

ndice Agrupado

Los nombres se agrupan por letras, el ndice tiene el mismo orden que la gua

Marzo 2012

Administracin de Base de Datos

11

ndice secundario

Las palabras estn ordenadas alfabticamente Indica las pginas donde se encuentra cada palabra

Marzo 2012

Administracin de Base de Datos

12

Organizaciones secuencial Indexada


El DBA El SMBD
Manejo de Memoria Manejo de memoria

ndice primario
Archivo ndice Archivo de datos

Restauracin

1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro Lpez DE 5678 Luis Perez MT 5879 Beatriz Martnez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio Len CO ..
fb 8 registros por bloque

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

13

Organizaciones secuencial Indexada


El DBA El SMBD
Manejo de Memoria Manejo de memoria

ndice primario
Archivo ndice Archivo de datos

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

1234 1657 3456 5432 5678 5879 6784 7865

1 1 1 2 2 2 3 3

1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro Lpez DE 5678 Luis Perez MT 5879 Beatriz Martnez MT 6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio Len CO ..

8762 3 ..
fb 8 registros por bloque

Marzo 2012

Administracin de Base de Datos

14

Organizacin secuencial Indexada


El DBA El SMBD
Manejo de Memoria Manejo de memoria

ndices densos
Dispone de un registro de ndice para CADA UNO de los valores de la clave de bsqueda del archivo Archivo de datos
1234 1657 3456 5432 5678 5879 6784 7865 1 1 1 2 2 2 3 3
1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro Lpez DE 5678 Luis Perez MT 5879 Beatriz Martnez MT

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

8762 3 ..

6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio Len CO


..
Administracin de Base de Datos 15

Marzo 2012

Organizacin secuencial Indexada


El DBA El SMBD
Manejo de Memoria Manejo de memoria

ndices disperso
Dispone de un registro de ndice para ALGUNOS de los valores de la clave de bsqueda del archivo (p.e. uno por pgina)
3456 1 5879 2 8762 3 1234 Maria Castillo DE 1657 Ana Paredes CO 3456 Jose Perdomo CO 5432 Pedro Lpez DE 5678 Luis Perez MT 5879 Beatriz Martnez MT

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

..

6784 Ana Vasquez MT 7865 Victor Trejo CO 8762 Julio Len CO


..
Administracin de Base de Datos 16

Marzo 2012

Organizacin secuencial Indexada


El DBA El SMBD
Manejo de Memoria Manejo de memoria

ndice agrupado
Archivo ndice Archivo de datos

Restauracin

Concurrencia
Diccionario Datos

Ana Beatriz Jose Luis

1 1 2 ?

1657 Ana Paredes CO 6784 Ana Vasquez MT 5879 Beatriz Martnez MT 3456 Jose Perdomo CO 8762 Jos Len CO 1235 Jos Castillo DE 5678 Luis Perez MT 2432 Luis Ramirez DE 6865 Luis Urbina CO 5555 Luis Ricardo DE

Proc. Consultas
Integridad Seguridad

..

Marzo 2012

Administracin de Base de Datos

17

Organizacin secuencial Indexada


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Este tipo de archivo necesita ser reorganizado peridicamente para mantener la eficiencia La principal desventaja de esta organizacin es que es preciso mantener el orden a medida que se insertan y borran registros El problema se agrava debido a que se debe mantener el orden en ambos archivos tanto el de datos como en el de ndice.
Administracin de Base de Datos 18

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Organizacin directa indexada


El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndice secundario
Archivo ndice Archivo de datos

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

1235 1657 2432 3456 5555 5678 5879 6784 6865

4 2 1 1 4 2 4 1 2

6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO

5678 Luis Perez MT 8762 Jos Len CO


5879 Beatriz Martnez MT 1235 Jos Castillo DE 5555 Luis Ricardo DE

6865 2 8762 3 ..
fb 8 registros por bloque

Marzo 2012

Administracin de Base de Datos

19

Organizacin directa indexada


El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndice secundario (atributo no nico)


Archivo ndice Archivo de datos 6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO 5678 Luis Perez MT 8762 Jos Len CO 5879 Beatriz Martnez MT 1235 Jos Castillo DE 5555 Luis Ricardo DE Registros de tamao variable

Restauracin

Concurrencia
Diccionario Datos

Ana Beatriz Jose Luis

1, 2 4 1, 3, 4 1, 2, 3,4

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

20

Organizacin directa indexada


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Listas invertidas
Archivo ndice

Archivo de datos
N registro relativo 1 2 3 4 5 6 7 8 9 10 registro Apuntador 4 5 9 8 6 10 2 3 7 null
21 (inicio)

Restauracin

Concurrencia
Diccionario Datos

Ana Beatriz Jose Luis

1 4 1 1

6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO 5678 Luis Perez MT 8762 Jos Len CO 5879 Beatriz Martnez MT 1235 Jos Castillo DE 5555 Luis Ricardo DE

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Indice multinivel
Archivo ndice Nivel 2 Archivo ndice Nivel 1 (interno) Archivo de datos

Restauracin

6784 1 8762 2

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

1235 1657 2432 3456 5555 5678 5879 6784

3 2 1 1 3 2 3 1

6784 Ana Vasquez MT 2432 Luis Ramirez DE 3456 Jose Perdomo CO 1657 Ana Paredes CO 6865 Luis Urbina CO

5678 Luis Perez MT 8762 Jos Len CO


5879 Beatriz Martnez MT 1235 Jos Castillo DE 5555 Luis Ricardo DE

6865 2 8762 3 ..

Marzo 2012

Administracin de Base de Datos

22

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Restauracin

El inconveniente principal de la organizacin indexada secuencial reside en que el rendimiento, tanto para buscar en el ndice se degrada segn crece el archivo de datos.

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Las estructuras de rbol B y B+ mantienen su eficiencia a pesar de la insercin y borrado de datos, y pueden ser usados como ndices primarios, secundarios o agrupados

Marzo 2012

Administracin de Base de Datos

23

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Son arboles de bsqueda balanceados


La profundidad de cada subarbol difiere en +-1 Un recorrido en profundidad inorden da los elementos ordenados.

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

24

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Cada nodo ocupa una pgina de disco.


P1 K1 P2 K2 . Km-1 Pm

K1<K2< .Km-1

Restauracin

Concurrencia
Diccionario Datos

Se puede ver como un ndice multinivel, donde cada nodo es un subndice El orden del rbol ser el numero de apuntadores que pueda tener cada nodo
Si tenemos m apuntadores P y (m-1) claves K las cuales ocupan un bloque de tamao B entonces
P.m + K(m-1) = B m = (B-P) +1 (P+K)
25

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Cada nodo, excepto la raiz debe estar lleno al menos hasta la mitad (m/2). La altura del rbol depende de su orden
Altura mnima:

Restauracin

Concurrencia
Diccionario Datos

Altura mxima:
n es el numero total de valores distintos de K

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

26

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

rbol B
Cada celda apunta al archivo de datos.

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

La cantidad de accesos para localizar un valor de K es al menos uno y a lo sumo la altura del rbol.
Administracin de Base de Datos 27

Marzo 2012

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

rbol B+
Variacin del rbol B
Solo las hojas apuntan a los datos

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

28

Organizacin indexada Arboles B y B+


El DBA El SMBD
Manejo de memoria Manejo de Memoria

Los rboles B+ son ms fciles de mantener que los rboles B. Son los tipos de ndice por defecto en las BD Los rboles B son usados para almacenar datos tipo CLOB o BLOB

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

29

Organizacin de Archivos
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Ejercicio
Dado un archivo de datos para Proveedor con los siguientes campos
RIF 9 Nombre 80 Regin 20 Ciudad 30 Direccin 250 telefono 50 email 50

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

+ un byte para marcado de borrado 1. Si el tamao del bloque es 2048 bytes, hay 500.000 registros, y los registros son de tamao fijo no extensibles
Calcular fb y TA de Proveedores.

Marzo 2012

Administracin de Base de Datos

30

Organizacin de Archivos
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Ejercicio (continuacin)
2. Si el archivo Proveedor est ordenado por RIF y se tiene un ndice de 2 niveles disperso sobre este campo. Calcule la cantidad de accesos para obtener un RIF dado. 3. Calcule la altura mxima de un ndice B+ sobre RIF.
4. Si el archivo est ordenado por ciudades indique que tipo de ndices se pueden crear sobre este, para cualquier atributo. (primario, agrupado o secundario)

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

31

Prxima clase
El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndices Bitmap Resumen vias de acceso Inicio tema Recuperacin

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

32

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndices Bitmap

Indice especial que usa arreglos de bits


01000111101011

Restauracin

Concurrencia
Diccionario Datos

Para crear un ndice bitmap sobre un campo se crean arreglos de bits por cada valor diferente y se coloca 1 en la posicin del registro que cumple dicho valor Cada bit corresponde a un rowid

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

33

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndice Bitmap
Indice bitmap sobre sexo
Id
1 2 3 4 5 6

Apellido
PEREZ GARCIA LOPEZ MARTIN BROWN CANEPA

Regin
NORTE CENTRO SUR SUR CENTRO NORTE

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Gnero F M M Null F M

Bitmaps F M 1 0 0 1 0 1 0 0 1 0 0 1

Marzo 2012

Administracin de Base de Datos

34

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndices Bitmap
ndice bitmap sobre regin

Id
Restauracin

Apellido PEREZ GARCIA LOPEZ MARTIN BROWN CANEPA

Regin NORTE CENTRO SUR SUR CENTRO NORTE

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

1 2 3 4 5 6

Gnero F M M Null F M

NORTE 1 0 0 0 0 1

Bitmap CENTRO 0 1 0 0 1 0

SUR 0 0 1 1 0 0

Marzo 2012

Administracin de Base de Datos

35

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

ndices Bitmap (bsquedas)


Id Apellido Regin Gnero F M M Null F M F 1 0 0 0 1 0 M 0 1 1 0 0 1 Bitmaps NORTE CENTRO 1 0 0 1 0 0 0 0 0 1 1 0 SUR 0 0 1 1 0 0

Restauracin

Concurrencia
Diccionario Datos

1 2 3 4 5 6

PEREZ GARCIA LOPEZ MARTIN BROWN CANEPA

NORTE CENTRO SUR SUR CENTRO NORTE

Proc. Consultas
Integridad Seguridad

Clientes femeninos de regin centro


AND entre los bitmaps F y Centro

Clientes masculinos de la regin norte o sur


(M AND Norte) OR (M AND Sur)

Marzo 2012

Administracin de Base de Datos

36

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Cuando usar ndices bitmaps


Tablas muy grandes (millones de registros) Con columnas que tienen baja cardinalidad (pocos valores diferentes)

Restauracin

Concurrencia
Diccionario Datos

Consulta con combinaciones de AND y OR en la clausula WHERE


Las columnas clave de los ndices son de solo lectura o se actualizan muy poco

Proc. Consultas
Integridad Seguridad

Marzo 2012

Administracin de Base de Datos

37

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Creacin de ndices en SQL


create <tipo_indice> index <nombre_indice> on <nombre_relacin> (<lista-atributos>) El tipo_indice depende del SMBD los ms comunes son
Hash Bitmap Unique

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Si no se indica el tipo del indice creado el del tipo rbol B+

Marzo 2012

Administracin de Base de Datos

38

Organizacin indexada
El DBA El SMBD
Manejo de memoria Manejo de Memoria

Vas de acceso
Exploracin: leer todos los registros del archivo. Bsqueda con seleccin de igualdad: Localizar las pginas donde estn los registros y cargarlas en memoria principal Bsqueda por seleccin de rango: Igual al anterior Insertar un registro: Identificar la pgina donde se va a insertar el registro, leerla, modificarla y guardarla de nuevo. Borrar un registro: Buscar el registro a borrar y marcarlo como borrado. Actualizar un registro: Buscar el registro a actualizar, leer la pgina, modificarla y guardarla de nuevo
Administracin de Base de Datos 39

Restauracin

Concurrencia
Diccionario Datos

Proc. Consultas
Integridad Seguridad

Marzo 2012