PROFESOR: RUTH BETSAIDA
UNIVERSIDAD TECNOLOGICA MARTINEZ DOMINGUEZ
METROPOLITANA ALUMNO: ADRIAN GEOVANY DOMINGUEZ
9 DE MAYO DE 2024 ACEVEDO 3F
SQL
SERVER
BASE DE DATOS, TERCEER CUATRIMESTRE
INDICE
Tabla de contenido
INTRODUCCION.................................................................................3
¿COMO PODEMOS DAR MANTENIMIENTO A LOS INDICES?
.................................................................................................................. 4
INDICE CLUSTERED (AGRUPADO)...........................................4
INDICE NONCLUSTERED (NO AGRUPADO)...........................5
ACTUALIZAR O ELIMINAR UN INDICE.......................................6
TIPO DE INDICES...............................................................................7
INDICE DE ARBOL B:.....................................................................7
INDICE HASH:.................................................................................. 8
INDICES DE BITS............................................................................. 9
INDICE FULL TEXT.......................................................................10
INDICE ESPACIAL..........................................................................11
CONCLUSION..................................................................................... 13
REFERENCIAS................................................................................... 14
INTRODUCCION
Los índices son componentes esenciales en las bases de datos que optimizan la velocidad de
recuperación de datos. Un índice está vinculado a una tabla o vista y está compuesto por
claves derivadas de una o más columnas de esa tabla o vista.
Estas claves se almacenan en una estructura, comúnmente un árbol B, que permite a SQL
Server realizar búsquedas rápidas y eficientes de las filas asociadas a los valores de cada
clave.
Los índices desempeñan un papel esencial en las bases de datos al mejorar
significativamente el rendimiento y la eficiencia de las consultas. Estos componentes
permiten acelerar la recuperación de datos al almacenar claves derivadas de columnas
específicas de tablas o vistas en una estructura optimizada, como un árbol B. Al utilizar
índices, el motor de la base de datos puede localizar rápidamente las filas asociadas a los
valores de estas claves, evitando la necesidad de explorar toda la tabla.
Además de mejorar el tiempo de respuesta de las consultas, los índices también pueden
influir en la organización física de los datos, facilitando operaciones de ordenación y
agrupación. También son fundamentales para aplicar restricciones de integridad, como
claves únicas o restricciones de clave externa, que aseguran la consistencia de los datos.
¿COMO PODEMOS DAR MANTENIMIENTO A
LOS INDICES?
INDICE CLUSTERED (AGRUPADO)
Un índice agrupado es un tipo especial de índice que determina el orden físico de las filas
de una tabla. Ordena los datos por una o más columnas, denominada clave de agrupación, y
almacena los datos en una estructura similar a un árbol denominada árbol B. Una tabla solo
puede tener un índice agrupado, ya que solo se puede ordenar de una manera. Un índice
agrupado se crea normalmente de forma predeterminada cuando se define una clave
principal o una restricción única en una tabla.
Para poder utilizar el índice clustered necesitamos una tabla con datos introducidos ya
previamente. En mi caso será esta:
1. Para utilizar este índice, es necesario seguir una sintaxis específica. Por ejemplo, si
estamos trabajando con esta base de datos quedaría de esta forma:
CREATE CLUSTERED INDEX idx_nombre ON listado(nombre);
idx_nombre: Nombre del índice
Listado: Tabla
(Nombre): Dato escogido
2. Para verificar que se haya creado correctamente, podemos utilizar el siguiente
comando:
EXEC sp_helpindex 'Nombre de la tabla';
3. Lo ejecutamos y nos debería de aparecer en pantalla este mensaje:
4. Realizamos la consulta, y deberá de aparecer en orden los datos de la tabla:
INDICE NONCLUSTERED (NO AGRUPADO)
Un índice no agrupado es una estructura independiente que contiene un subconjunto de
columnas de una tabla, junto con un puntero a la fila correspondiente de la tabla. También
utiliza un árbol B para organizar los datos, pero no afecta al orden físico de las filas de la
tabla. Una tabla puede tener varios índices no agrupados, cada uno con una combinación
diferente de columnas y orden de ordenación. Un índice no agrupado se crea manualmente
o mediante una sugerencia de índice en una consulta.
1. Para realizar este índice el procedimiento es muy similar al anterior, la sintaxis
seria la siguiente:
2. Comprobamos y ejecutamos
EXEC sp_helpindex 'Nombre de la tabla';
3. Realizamos la consulta y la tabla ya debería de estar modificada
ACTUALIZAR O ELIMINAR UN INDICE
Para eliminar un índice, tendrás que utilizar la siguiente sintaxis:
Para actualizar un índice, tendrás que utilizar la siguiente sintaxis:
TIPO DE INDICES
INDICE DE ARBOL B:
El índice de árbol B resulta útil para una consulta que recupera un rango de valores de
datos. Para poder trabajar con los UDT, el servidor de bases de datos proporciona una
versión ampliada de un árbol B, el índice de árbol B genérico.
La sintaxis es la siguiente:
Hagamos un ejemplo, con la base de datos proporcionada, implementemos este código paso
a paso.
1. Primero modificamos la sintaxis original por los datos solicitados
2. A continuación, verificamos si se creó correctamente el índice
3. Por último, realizamos la consulta y observamos la tabla
INDICE HASH:
Con un índice hash, se accede a los datos a través de una tabla hash en memoria. Los
índices hash utilizan una cantidad fija de memoria, que es una función del número de
cubos.
Es similar a la sintaxis anterior, nada mas que con valores mas de acuerdo a resultado del
hash
Hagamos un ejemplo
1. Modificamos la sintaxis dependiendo de nuestra base de datos ya hecha
2. A continuación, verificaremos si se creó correctamente el índice
3. Por último, realizamos la consulta y observamos la tabla
INDICES DE BITS
Un índice de mapa de bits es un tipo de índice que utiliza una estructura de datos compacta,
llamada mapa de bits, para representar la información sobre la presencia o ausencia de
valores específicos en una columna.
Para implementar un índice de bits es necesario seguir una serie de pasos, aquí un
ejemplo:
1. Agregamos en la columna de nuestra base de datos un dato de tipo bit que este de
default en 0, esto es para que por default no se sepa de la presencia del dato y no
haya errores.
2. Tenemos que darle de valor bits a los datos insertados
3. Tenemos que actualizar la columna del bit con valores 1 y 0 según el dato sea nulo
o no
[Link] que utilizar la siguiente sintaxis:
4. Verificamos que se haya creado correctamente el índice:
5. Consultamos y verificamos la tabla
INDICE FULL TEXT
Es un tipo de índice que permite ejecutar búsquedas optimizadas de colecciones de palabras
contenidas en el texto de una columna, este tipo de índice se aplica a columnas de tipo
CHAR, VARCHAR y TEXT.
[Link] una nueva tabla en nuestra base de datos:
2. Tenemos que Insertar los datos de otra tabla para esta tabla con esta sintaxis:
4. Creamos el catalogo del full text con esta sintaxis:
5. Ejecutamos y verificamos que arroje el resultado
INDICE ESPACIAL
es un tipo de índice extendido que permite indizar una columna espacial. Una columna
espacial es una columna de tabla que contiene datos de un tipo espacial, como geometría o
geografía
1. Crear una tabla con al menos una columna espacial, como una columna de tipo
"geografía", para almacenar coordenadas geográficas y así realizar el índice
requerido.
2. Ingresamos datos en la tabla
3. Para poder utilizar el índice, necesitamos la siguiente sintaxis:
4. Hacemos la verificación y checamos la tabla, los datos saldrán en Hexadecimal
CONCLUSION
Los índices en SQL Server son estructuras clave que mejoran la eficiencia de las consultas
al permitir un acceso más rápido a los datos almacenados en las tablas. Funcionan como
mapas que facilitan la búsqueda y recuperación de información específica sin necesidad de
escanear todas las filas de una tabla.
Al implementar índices de manera adecuada, podemos optimizar el rendimiento de las
consultas, especialmente en bases de datos con grandes conjuntos de datos. Esto se traduce
en tiempos de respuesta más rápidos para las aplicaciones que interactúan con la base de
datos, lo que mejora la experiencia del usuario.
Además, los índices permiten mantener la integridad de los datos al soportar restricciones
únicas y claves primarias, lo que garantiza la precisión y consistencia de la información
almacenada en la base de datos.
los índices en SQL Server son herramientas esenciales para optimizar el acceso y la
recuperación de datos, mejorar el rendimiento de las consultas y garantizar la calidad de los
datos en las aplicaciones basadas en bases de datos.
REFERENCIAS
[Link]
clustered?lang=es#:~:text=Un%20índice%20agrupado%20es%20un,un%20árbol
%20denominada%20árbol%20B.
[Link]
ibm-udr-doc-ids-udr-285-htm
[Link]
ibm-udr-doc-ids-udr-285-htm
[Link]
[Link]
%20tipo%20de,tipo%20CHAR%2C%20VARCHAR%20y%20TEXT.
[Link]
indexes-overview?view=sql-server-ver16