Вы находитесь на странице: 1из 6

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 1/6 Fecha: Semestre Grupo Docentes: Ms.Cs. Karim Guevara Puente de la Vega Ing. Freddy Gonzales Saji Ciclo Acd. 2011-2 VII

Sesin Nro. 05
Tema: ndices

I OBJETIVOS
Comprender los fundamentos de la integridad referencial Conocer la estructura de un trigger Familiarizarse con la sintaxis de los triggers en diferentes SGBD Implementar triggers asociados a objetos de la Base de Datos

II REQUISITOS
Tener instalado SQL Server 2005 o 2008 Tener instalado MySql

III MARCO TERICO


Un ndice es un mtodo de acceso rpido a los datos de una base de datos. Razones para crear un ndice: Acelerar el acceso a datos Fuerzan la unicidad Se crear y se mantienen ordenados ascendentemente o descendentemente Los ms adecuados son los creados en columnas muy selectivas Razones para no crear un ndice: Consumen espacio en disco Generar costos de procesamiento Tipos de ndices: En primer lugar mencionar que SQL Server usa montones como forma de almacenamiento por defecto de los datos. ndices agrupados Cada tabla slo puede tener un ndice agrupado El orden fsico de las filas de la tabla y el orden de las filas en el ndice son el mismo. tiles para columnas en las que se busca frecuentemente por intervalos o las que tienen acceso siguiente un orden. Durante su creacin se utiliza temporalmente 1.2. veces el tamao de la tabla. Indices no agrupados

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 2/6

Los ndices no agrupados son los predeterminados en SQL Server. Si hay ndices de este tipo, stos se vuelven a generar cuando: Se quita un ndice agrupado Se crea un ndice agrupado Se utiliza la opcin DROP_EXISTING para cambiar las columnas que definen el ndice agrupado. tiles cuando los usuarios requieren varios modos de bsqueda. Se recomienda, crear primero los agrupados que los no agrupados.

Bsqueda de filas en un monton Esta bsqueda se hace utilizando cierta informacin almacenada como parte de la metadata. Cuando no hay ndices que utilizar en una bsqueda, esta se realiza en las extensiones de un monto. Para estos se utiliza la tabla sysindexes, la misma que contiene la informacin relativa a la ubicacin de las extensin que son parte del montn. Ver figura 5.1.

Figura 5.1

Cuando se tiene un ndice agrupado, la bsqueda es probable que utilice este ndice para poder llegar a obtener los datos desde el montn. Ver figura 5.2.

Figura 5.2. Cuando la bsqueda implica el uso de un ndice agrupado, uno no agrupado para llegar a los datos en el montn se procede tal como se observa en la figura 5.3.

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 3/6

Figura 5.3. Directrices de indizacin Algunas recomendaciones para poder decidir cundo crear un ndice, de que tipo y porque campos son las siguientes: Utilidad de un ndices: porcentaje de filas devueltas en una consulta. Ms eficiente cuando este porcentaje es bajo y la seleccin es ms precisa. Las columnas adecuadas para indexar son: Claves principal y externa En aquellas que se buscan frecuentemente intervalos A las que se tiene acceso en forma ordenada Agrupadas juntas durante la agregacin Columnas no adecuadas para indizar Se incluyen con poco frecuencia en las bsquedas Tienen pocos valores nicos

Selectividad Es una medida determinante al momento de decidir si se crean o no los ndices. Se deriva del porcentaje de filas de una tabla a las que tiene acceso o devuelve una consulta. El optimizador de consultas determinar la selectividad de las instrucciones SELECT, UPDATE y DELETE. Cuando se cree ndices se deben de hacer en columnas a las que se haga referencia con frecuencia en operaciones de combinacin o en la clausula WHERE, o en aquellos datos que sean muy selectivos. Observe la figura 5.4. que muestra un ejemplo de cmo determinar la selectividad:

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 4/6

Figura 5.4. Densidad Es el porcentaje promedio de las filas duplicadas en un ndice. Por lo que un ndice con un gran nmero de duplicados tiene alta densidad. Un ndice nico tiene baja densidad. Un ejemplo de esta mtrica se observa en la figura 5.5.

Figura 5.5.

IV PROCEDIMIENTO
Antes de empezar a desarrollar su practica debe de seguir las instrucciones del docente a cargo: El archivo indicado por el docente contiene los archivos de comandos necesarios para la realizacin de la prctica.

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 5/6

Para la realizacin de las prcticas es necesario restaurar la base de datos Credit, cuyo backup sera proporcionado por el docnte. Identificacin de los ndices 01. Abra el Analizador de consultas SQL y, si as se le pide, inicie una sesin en el servidor local con autenticacin de Microsoft Windows. 02. En la lista BD, haga clic en credit. 03. Abra el archivo Inspect_corporation.sql y, a continuacin, revselo y ejectelo. Qu informacin se muestra? 04. Vaya a la sexta cuadrcula, llamada index_name. Cules son los nombres de los ndices de la tabla corporation? 05. La clave principal de la tabla corporation, es un ndice agrupado o no agrupado?

Contenido de la tabla sysindexes

06. Abra el archivo Inspect_sysindexes.sql y, a continuacin, revselo y ejectelo. Qu informacin se muestra?

07. Qu tablas no tienen un ndice agrupado? Cmo se puede saber?

08. Qu tipo de ndices tiene la tabla corporation?

09. Revise los nombres de columna de la vista sysindexes. Cuntas filas hay en la tabla member? Cuntas pginas se utilizan?

10. De qu modo SQL Server busca la raz de un ndice o la primera pgina IAM en un montn?

11. Determine la selectividad de las siguientes consultas: a) De todos aquellos miembros cuyo apellido sea STEIN. b) De aquellos miembros que pertenezcan a la region JAPAN

12. Determine la densidad del ndice: c) Member_region_link. d) Corporation_region_link

FACULTAD DE PRODUCCION Y SERVICIOS

Escuela Profesional de Ingeniera de Sistemas


Base de Datos II Pgina: 6/6

V EJERCICIOS PROPUESTOS
Investigue los siguientes aspectos en el SGBD Postgres

1. Cul es la forma de almacenamiento de la informacin?

2. Qu tipos de ndices gestiona? 3. Como se realizan las bsquedas cuando se utilizan los diferentes tipos de ndices? 4. Cules son las tablas o vistas que guardan la informacin relativa a los ndices (a que tabla pertenece, tipo, nombre, cantidad de pginas, etc.)? 5. Cules son los procedimientos que se deben de seguir para recuperar la informacin de los ndices de las tablas de una BD?. Demuestre con ejemplos estos procedimientos.

Вам также может понравиться