UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD INGENIERIA SISTEMAS VI SEMESTRE CONSULTA BOGOTA 2014
TRABAJO ESCRITO SOBRE INDICE DE AGRUPAMIENTO
EDGAR YESID CORTES INSUASTY DAVID ENRIQUE MAECHA
DOCENTE JULIO FLOREZ SANCHEZ
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD INGENIERIA SISTEMAS VI SEMESTRE CONSULTA BOGOTA 2014 Contenido INTRODUCCION ....................................................................................................................................4 DEFINICION INDICES ............................................................................................................................5 INDICES DE UN SOLO NIVEL .................................................................................................................6 DE AGRUPAMIENTO .............................................................................................................................6 BIBLIOGRAFIA .......................................................................................................................................9
INTRODUCCION
Las organizaciones de ficheros han ido evolucionando con el tiempo. En un principio, los ficheros estaban en cinta, con lo que el acceso era secuencial y por lo tanto el coste de acceso aumentaba conforme el fichero creca en tamao. Ya que los ficheros de gran tamao no se podan manejar secuencialmente, la aparicin de los discos hizo que se comenzaran a utilizar los ndices. Un ndice es un fichero pequeo con una lista de claves y punteros donde la bsqueda es ms rpida. Si se conoce el valor de la clave, el acceso es directo. Cuando los ndices son demasiado grandes y cambian con frecuencia, son difciles de gestionar, ya que son ficheros ordenados en los que la bsqueda se realiza de forma secuencial (bsqueda lineal). Es entonces cuando surge la idea de utilizar estructuras en forma de rbol como una posible solucin. Esto ocurra a principios de los aos sesenta. Un ndice es una estructura de datos definida sobre una columna de tabla (o varias) y que permite localizar de forma rpida las filas de la tabla en base a su contenido en la columna indexada adems de permitir recuperar las filas de la tabla ordenadas por esa misma columna. Funciona de forma parecida al ndice de un libro donde tenemos el ttulo del captulo y la pgina donde empieza dicho captulo, en un ndice definido sobre una determinada columna tenemos el contenido de la columna y la posicin de la fila que contiene dicho valor dentro de la tabla.
DEFINICION INDICES Es una estructura de acceso adicional que se asocia con el fichero asociado a una base de datos. Proporcionan camino de acceso alternativos para encontrar los registros de forma mas eficiente Funcin de los ndices: reducir el gasto de tiempo en la bsqueda de registro, pueden tener definidos ms de un ndice adems se utilizan sobre los campos sobre los cuales se hacen bsquedas frecuentes. Un ndice para un archivo del sistema funciona como el ndice de un libro. Si se va a buscar un tema (especificado por una palabra o una frase) se puede buscar en el ndice al final del libro, encontrar las pginas en las que aparece y despus leerlas para encontrar la informacin buscada. Las palabras del ndice estn ordenadas alfabticamente, lo cual facilita la bsqueda. Adems, 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. Los ndices de los sistemas de bases de datos juegan el mismo papel que los ndices de los libros en las bibliotecas. Por ejemplo, para recuperar un registro cuenta dado su nmero de cuenta, el sistema de bases de datos buscara en un ndice para encontrar el bloque de disco en que se localice el registro correspondiente, y entonces extraera ese bloque de disco para obtener el registro cuenta. Almacenar una lista ordenada de nmeros de cuenta no funcionara bien en bases de datos muy grandes con millones de cuentas, ya que el propio ndice sera muy grande; por lo que encontrar una cuenta podra consumir mucho tiempo. En su lugar se usan tcnicas ms sofisticadas de indexacin.
Tipos de ndices: ndices de un solo nivel ndices multinivel Arboles B y arboles B+ ndices dispersos INDICES DE UN SOLO NIVEL Ficheros ordenados cuyos registros estn formados por 2 campos:{clave, posicin} donde: Clave: (campo de indexacin) es un campo de los registros del fichero de datos Posicin: direccin del bloque en disco Los valores del ndice estn ordenados Los ndices de un solo nivel estn dados por: Primarios Secundarios De agrupamiento En este trabajo solo vamos a trabajar la parte de agrupamiento. DE AGRUPAMIENTO
El fichero de datos est formado por un campo no clave denominado campo de agrupamiento, es un fichero ordenado con registros de longitud fija: El campo de indexacin: es el campo de agrupamiento por el que esta ordenado el fichero de datos Posicin: direccin al bloque que contiene el registro con el valor del campo de agrupamiento No denso: un nico registro en el ndice por cada valor distinto del campo de agrupamiento Solo puede crearse un registro de agrupamiento por fichero Sobre ficheros con registros ordenados segn los valores de un campo no clave El campo de indexacin es dicho campo de agrupamiento
El ndice es un fichero ordenado con: Una entrada por cada valor distinto del campo de agrupamiento del fichero principal (ndice no denso) Cada entrada tiene longitud fija y 2 campos Valor distinto del campo de indexacin Puntero al primer bloque en que aparece dicho valor
Operaciones sobre ficheros con ndices de agrupamiento:
Insertar y Eliminar costosas y provocan modificacin del ndice Alivio si se reserva un bloque (del fichero de datos) para cada valor distinto del campo de agrupacin (o varios bloques enlazados) acelera la recuperacin de registros que tienen el mismo valor en el campo de agrupamiento Si los registros de un fichero estn ordenados fsicamente segn un campo no clave, que no tiene un valor distinto para cada registro dicho campo se denomina Campo de agrupacin. Podemos crear un tipo diferente de ndice, llamado ndice de agrupacin, para acelerar la recuperacin de registros que tienen el mismo valor en el campo de agrupacin. Esto no es lo mismo que un ndice primario que requiere que el campo de ordenacin del fichero de datos tenga un valor distinto para cada registro. Un ndice de agrupacin es tambin un fichero ordenado con dos campos; el primero es del mismo tipo que el campo de agrupacin del fichero de datos, y el segundo es un puntero a un bloque. Hay una entrada en el ndice de agrupacin por cada valor distinto del campo de agrupacin y contiene el valor y un puntero al primer bloque del fichero de datos que tenga un registro con ese valor en el campo de agrupacin