estructuras de indexacion

Download estructuras de indexacion

If you can't read please download the document

Upload: claudia-vanessa

Post on 30-Jun-2015

156 views

Category:

Documents


1 download

TRANSCRIPT

ESTRUCTURAS DE INDEXACINESTRUCTURAS DISCRETAS

ALUMNOS: Claudia V. Coaguila Rodrguez Elizabeth Casilla Mamani Mara Elena Yupa Linares Adrian Jos Montoya Ibarcena Javier Colque Malaga

IntroduccinEn el mbito computacional la bsqueda de archivos y obtencin de datos son eventos que estn presentes en cada una de las acciones realizadas por un computador, uno de los mtodos ms eficaces para realizar estas bsquedas lo ofrecen las estructuras de indexacin. Se utilizan para poder hacer las bsquedas dentro de las bases de datos mucho ms rpidas y fciles mediante cdigo SQL. Los tipos de estructuras de indexacin ms utilizados se basan en ficheros ordenados (ndices de un solo nivel) y en estructuras de datos de rboles (BTrees y B+Trees).

Conceptos Bsicosndices Ordenados de un solo nivelPara poder explicar la manera en que trabaja un ndice ordenado de un solo nivel usaremos el ejemplo de una biblioteca. Cuando nosotros realizamos la bsqueda de un libro en una biblioteca recurrimos a un ndice de todos los libros en donde realizamos la bsqueda elemento por elemento, desde el primero hasta que hallemos el elemento que deseamos.

ndices basados en rbolesrboles heterogneos y homogneos

Son aquellos donde cada nodo del rbol contiene solo un tipo de puntero, pero los punteros de los nodos hoja son de de distinto tipo que los de los nodos no hoja. Los punteros de los nodos hoja apuntan a los registros del fichero de datos, mientras que los punteros de los nodos no hoja apuntan a otros nodos del rbol (niveles inferiores).Nodos no hoja Punteros de rbol

Nodos hoja

Punteros de datos

rboles BLos rboles B son rboles cuyos nodos pueden tener un nmero mltiple de hijos.

rbol B

B-rbol es un rbol de bsqueda que puede estar vaco o aquel cuyos nodos pueden tener varios hijos, existiendo una relacin de orden entre ellos. Un rbol-B de orden M (el mximo nmero de hijos que puede tener cada nodo) es un rbol que satisface las siguientes propiedades: Cada nodo tiene como mximo M hijos. Cada nodo (excepto raz y hojas) tiene como mnimo M/2 hijos. La raz tiene al menos 2 hijos si no es un nodo hoja. Todos los nodos hoja aparecen al mismo nivel. Un nodo no hoja con k hijos contiene k-1 elementos almacenados. Los hijos que cuelgan de la raz (r1, , rm) tienen que cumplir ciertas condiciones: El primero tiene valor menor que r1. El segundo tiene valor mayor que r1 y menor que r2, etc. El ltimo hijo tiene valor mayor que rm.

rbol B+Qu es un rbol B+?

rbol balanceado en el cual los nodos internos dirigen la bsqueda, y los nodos hoja contienen las entradas de datos. Para acceder a todos los nodos hoja de manera eficiente, se enlazan utilizando apuntadores. Se organizan los datos en una lista doblemente enlazada, de manera que se mantenga el acceso secuencial en cualquier direccin.

Estructura de un rbol B+Entradas de ndices (para dirigir la bsqueda)

Entradas de Datos (Conjunto de secuencias)

rbol B+ - Ahora, un ejemplo

Insercin en rboles B+

El algoritmo de insercin toma una entrada, encuentra el nodo hoja al cual pertenece y lo inserta all. Usualmente, este proceso resulta en bajar (de manera recursiva) hasta el nodo hoja al cual pertenece la nueva entrada, ubicar la entrada, y luego retornar hasta la raz. qu pasa cuando un nodo esta lleno?

Insercin en rboles B+

Eliminacin en rboles B+

Se inicia en la raz, se busca la hoja en donde se encuentra la entrada a borrar. Se elimina la entrada Si al eliminar una entrada el nodo queda por debajo del n mnimo de elementos, se redistribuyen los elementos restantes, de manera que el rbol se mantenga balanceado.

Eliminacin en rboles B+

Altura de rboles y fan-outEl fan-out define la cantidad mxima de hijos que puede tener cada nodo, mientras que la altura esta referida a los niveles que tiene el rbol. rboles Homogneos: El nmero mximo de registros que pueden ser indexados es de b0(b - 1) + b1(b - 1) + . . . + bn-1(b -1) para un fan-out de b y n niveles.

rboles Heterogneos: El nmero mximo de registros que pueden ser indexados es de bn.

Recorridos de rbolesPara recorrer y buscar algn dato dentro de un rbol se pueden utilizar 3 formas, preorden, entreorden y postorden. A continuacin explicaremos cada uno de manera breve:

Preorden: Este recorrido empieza por la raz continua por el hijo izquierdo y luego el hijo derecho, si cualquiera de los hijos resulta ser un subrbol se aplica el mismo procedimiento hasta recorrer cada elemento del rbol (A B C D E F G H I J). Entreorden: Este recorrido empieza por el hijo izquierdo que este ms a la izquierda del rbol (el menor) y va avanzando de la siguiente manera: hijo izquierdo, raz e hijo derecho, en caso cualquiera de los hijos sea un subrbol se realiza el mismo procedimiento dentro de este subrbol hasta llegar al ltimo hijo derecho (el mayor) (C B D E A F I H J G). Postorden: Este recorrido empieza por el hijo izquierdo y luego el hijo derecho recorriendo posteriormente la raz, si cualquiera de los hijos resulta ser un subrbol se aplica el mismo procedimiento hasta recorrer cada elemento del rbol (C E D B I J H G F A).

Relacin con las Estructuras DiscretasSe basa principalmente en el orden que se manifiesta tanto en los ndices de un solo nivel como en estructuras basadas en rboles. Como hemos visto ambos realizan bsquedas basadas en estructuras ordenadas (aqu tenemos la expresin de lo que son conjuntos parcialmente ordenados) y es imposible que un ndice no lo haga. Algunos ejemplos seran: La forma como el Explorador de Windows distribuye las carpetas.(rbol) El men que se despliega cuando usamos la contraccin alt+tab.(ndice ordenado de un solo nivel, doble lista enlazada)

Mens desplegables.(rboles)

Conclusiones Los conceptos bsicos de relaciones, funciones y conjuntos parcialmente ordenados son necesarios para poder entender y desarrollar estructuras de indexacin en bases de datos. Una estructura de indexacin reduce significativamente el tiempo necesario para poder buscar y recuperar datos, y su nivel de eficiencia es medido segn la complejidad de dicha estructura. Podemos darnos cuenta de esto al comparar los ndices ordenados de un solo nivel con los ndices basados en rboles ya sean estos rboles binarios B o B+.

Un factor importante es definir cual ser la funcin que realizara la estructura de indexacin para poder determinar cual es la estructura interna que mejor se adapte a esta tarea.

GRACIAS..