¿Qué son los índices?
El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos.https://es.wikipedia.org/wiki/%C3%8Dndice_(base_de_datos)
En términos más mundanos: Un índice es una estructura que tiene bien identificado cada registro dentro de una tabla con base en uno o más campos (columnas) que hacen que cada registro (fila) se identifique de manera única y mantiene orden en esa estructura, de forma que las operaciones, especialmente las que involucran búsquedas, se realizan más rápido. ¿Haz buscado algo en la "sección amarilla" hojeandola? ¿Lo haz hecho utilizando los listados que tiene al inicio e indican DÓNDE está cada grupo de negocios? ¿cómo sería más rápido?
¿Qué tipos de índices hay?
En MySQL hay cinco tipos de índices:PRIMARY KEY: Este índice se ha creado para generar consultas especialmente rápidas, debe ser único y no se admite el almacenamiento de NULL.
KEY o INDEX: Son usados indistintamente por MySQL, permite crear indices sobre una columna, sobre varias columnas o sobre partes de una columna.
UNIQUE: Este tipo de índice no permite el almacenamiento de valores iguales.
FULLTEXT: Permiten realizar búsquedas de palabras. Sólo pueden usarse sobre columnas CHAR, VARCHAR o TEXT
SPATIAL: Este tipo de índices solo puede usarse sobre columnas de datos geométricos (spatial) y en el motor MyISAM
https://www.sgmendez.com/2011/10/04/tipos-indices-mysql/comment-page-1/
Índice simple y compuesto.
Un índice simple está definido sobre una sóla columna de la tabla mientras que un índice compuesto está formado por varias columnas de la misma tabla (tabla sobre la cual está definido el índice.
Cuando se define un índice sobre una columna, los registros que se recuperen utilizando el índice aparecerán ordenados por el campo indexado. Si se define un índice compuesto por las columnas col1 y col2, las filas que se recuperen utilizando dicho índice aparecerán ordenadas por los valores de col1 y todas las filas que tengan el mismo valor de col1 se ordenarán a su vez por los valores contenidos en col2, función igual que la cláusula ORDER BY que se agrega al final de una sentencia SELECT.
Por ejemplo si definimos un índice compuesto para una tabla de Localidades basado en las columnas (ciudad, localidad), las filas que se recuperen utilizando este índice aparecerán ordenadas por ciudad y dentro de la misma ciudad por localidad.
El término índice agrupado no se debe confundir con índice compuesto, el significado es totalmente diferente.
Un índice agrupado (CLUSTERED) es un índice en el que el orden lógico de los valores de clave determina el orden físico de las filas correspondientes de la tabla. El nivel inferior, u hoja, de un índice agrupado contiene las filas de datos en sí de la tabla. Una tabla o vista permite un solo índice agrupado al mismo tiempo.
Los índices no agrupados existentes en las tablas se vuelven a generar al crear un índice agrupado, por lo que es conveniente crear el índice agrupado antes de crear los índices no agrupados.
Un índice no agrupado especifica la ordenación lógica de la tabla. Con un índice no agrupado, el orden físico de las filas de datos es independiente del orden indizado.
Índice único es aquel en el que no se permite que dos filas tengan el mismo valor en la columna de clave del índice. Es decir que no permite valores duplicados.
http://www.aulaclic.es/sqlserver/t_8_15.htm
¿Qué son las relaciones entre las tablas?
Las relaciones entre tablas son conexiones entre dos tablas, donde la información de una (tabla B) depende de la existencia de la información necesaria en la otra (tabla A) para establecer la conexión. Esto sirve mucho para asegurar que la información se mantenga completa (íntegra). Así, para borrar información de la tabla A se requiere que no haya información en la tabla B que depende de la de A.Las relaciones en una base de datos, de forma lógica pueden ser 1-Muchos, 1-1, 0-Muchos y Muchos-Muchos, siendo para este último tipo, una implementación de la forma A-B-C, donde la relación entre A y B es 1-Muchos y entre C y B también es 1-Muchos, usando B como un puente que concentra las relaciones Muchos-Muchos
¿Dudas, preguntas y sugerencias? En comentarios (abajo de la publicación). No te pierdas nuestros “Twits” en https://twitter.com/MSG_FS y nuestra pagina en face: https://www.facebook.com/MSGFastService/
No hay comentarios.:
Publicar un comentario