Operador de Paquetes bajo Windows | Page 178

Unidad 5. Avanzado: Los índices Definición Un índice en informática es como el índice de un libro donde tenemos los capítulos del libro y la página donde empieza cada capítulo. No vamos a entrar ahora en cómo se implementan los índices internamente ya que no entra en los objetivos del curso pero sí daremos unas breves nociones de cómo se definen, para qué sirven y cuándo hay que utilizarlos y cuando no. Un índice es una estructura de datos que permite recuperar las filas de una tabla de forma más rápida además de proporcionar una ordenación distinta a la natural de la tabla. Un índice se define sobre una columna o sobre un grupo de columnas, y las filas se ordenarán según los valores contenidos en esas columnas. Por ejemplo, si definimos un índice sobre la columna poblacion de una tabla de clientes, el índice permitirá recuperar los clientes ordenados por orden alfabético de población. Si el índice se define sobre varias columnas, los registros se ordenarán por la primera columna, dentro de un mismo valor de la primera columna se ordenarán por la segunda columna, y así sucesivamente. Por ejemplo si definimos un índice sobre las columnas provincia y poblacion se ordenarán los clientes por provincia y dentro de la misma provincia por población, aparecerían los de ALICANTE Denia, los de ALICANTE Xixona, VALENCIA Benetússer, y finalmente los de VALENCIA Oliva. El orden de las columnas dentro de un índice es importante, si retomamos el ejemplo anterior y definimos el índice sobre poblacion y provincia, aparecerían los de VALENCIA Benetusser, seguidos de los ALICANTE Denia, VALENCIA Oliva, y finalmente los de ALICANTE Xixona. Ahora se han ordenado por población y los clientes de la misma población se ordenan por el campo provincia. Ventajas e inconvenientes Ventajas: Si una tabla tiene definido un índice sobre una columna Access puede localizar mucho más rápidamente una fila que tenga un determinado valor en esa columna. Recuperar las filas de una tabla de forma ordenada por la columna en cuestión también será mucho más rápido. Inconvenientes: Al ser el índice una estructura de datos adicional a la tabla, ocupa un poco más de espacio en disco. Cuando se añaden, modifican o se borran filas de la tabla, el sistema debe actualizar los índices afectados por esos cambios lo que supone un tiempo de proceso mayor. Por estas razones no es aconsejable definir índices de forma indiscriminada. Los inconvenientes comentados en este punto no son nada comparados con las ventajas si la columna sobre la cual se define el índice es una columna que se va a utilizar a menudo para buscar u ordenar las filas de la tabla. Por eso una regla bastante acertada es definir índices sobre columnas que se vayan a utilizar a menudo para recuperar u ordenar las filas de una tabla. El Access de hecho crea automáticamente índices sobre las columnas claves principales y sobre los campos que intervienen en las relaciones ya que se supone que se utilizan a menudo para recuperar filas concretas. Cómo definir un índice Los índices forman parte de la estructura de la tabla, luego se definen y modifican desde la vista Diseño de tabla. Si el índice se basa en un sólo campo. Seleccionar el campo y modificar la propiedad Indexado. Curso Access 2010 178