tutorial house harvard español data caso cards big database-design

database design - house - En una base de datos, ¿cuál es la diferencia entre una clave y un índice?



django tutorial español pdf (10)

Único es una restricción forzada en sus datos, mientras que un índice lo ayudará a ordenar físicamente sus filas (índice agrupado) o lógicamente (índice no agrupado) en la base de datos para una recuperación más rápida.

Por ejemplo, en SQLServer, si tengo un índice con un conjunto ''único'', ¿cómo es eso diferente de una clave?

¿Cómo sé cuándo quiero usar una clave frente a un campo indexado?


Key tiene de forma predeterminada un índice de clúster en MS SQL Server.

La clave es un valor único para cada fila.

Uso del índice para maximizar el rendimiento de su base de datos. Puede crear índices según sus necesidades. hay diferentes tipos de índices, por ejemplo

  • Índice de mapa de bits
  • Índice denso
  • Índice escaso
  • Índice de cobertura

Las claves se utilizan para mantener la integridad de los datos, los índices se utilizan para mantener el rendimiento de la base de datos. Piense en cualquier problema que trate de resolver y que lo guíe en la dirección correcta.


Un campo que tiene valores únicos es, esencialmente, una clave. Sin embargo, una clave se utiliza para identificar de forma única una fila en una tabla, mientras que un índice se usa para ordenar, o agrupar, las filas en la tabla. Una clave no debería cambiar una vez que se haya configurado inicialmente, ya que podría estar referenciada en otra parte de su base de datos. Un campo indexado, sin embargo, puede cambiar libremente.


Una clave (declaración) es una restricción. Impide que las filas se ingresen en la tabla si faltan datos clave, o si los datos clave duplican una fila que ya está en la tabla.

Un índice es una estructura de datos que permite la búsqueda rápida de una fila o filas de valores dados para las columnas (campos) utilizadas en el índice. Los índices también se pueden usar para acelerar otros tipos de consultas. Por ejemplo, una unión combinada utiliza índices en las dos columnas que conforman la condición de unión, si esos índices están allí. Si su DBMS hará una combinación de fusión depende del optimizador de consultas, el tamaño de las tablas y la presencia de los índices necesarios.

Para confundir un poco el tema, parte de la literatura se refiere a las columnas que un índice usa como "claves de índice". La misma literatura usualmente se refiere a llaves primarias y llaves extranjeras como "llaves lógicas". Esa misma literatura a menudo se referirá a las claves como características lógicas de una tabla, mientras que los índices se denominan características físicas de la tabla.

La mayoría de los DBMS crearán un índice cuando declare una clave primaria. Hay dos razones para este comportamiento. La primera es que detectar duplicados sin un índice lleva mucho tiempo en una gran tabla. El segundo es que presumiblemente estará haciendo muchas búsquedas basadas en la clave principal, y esas búsquedas se ejecutan mucho más rápido con un índice.


Una clave es un campo o conjunto de campos que identifica de manera única cada fila. Normalmente, habrá una clave designada como clave principal, y hoy en día parece ser un campo que con frecuencia no tiene sentido (como un número de página, que solo es importante para identificar lo que está en la página).

Es posible tener una tabla con una clave para otra tabla, que se llama una clave externa. Por ejemplo, en la base de datos de una tienda en línea, puede haber una tabla para pedidos, y cada pedido tendrá un cliente asociado, por lo que cada fila en la tabla de pedidos tiene una clave externa para la tabla de clientes.

Un índice es una estructura de datos basada en uno o más campos en una tabla, lo que permite un acceso rápido a la tabla en función de esos campos. El índice puede identificar filas individuales (por ejemplo, un índice de la dirección de correo electrónico del cliente) o puede indicar grupos (por ejemplo, el estado exento de impuestos de los clientes). Se usa de forma muy similar al índice de un libro, o como un directorio inverso (como una guía telefónica ordenada por número de teléfono).

Una clave es sobre todo una forma de pensar sobre la base de datos (aunque generalmente es posible decirle a la base de datos sobre las claves, por lo que la base de datos puede rechazar filas con claves duplicadas, por ejemplo). Un índice es una forma de hacer que la base de datos funcione más rápido.


Una clave identifica de manera única una fila en una tabla. Un índice es el orden de las filas basado en un campo en una tabla. Una tabla puede tener múltiples índices, porque un índice puede ser un cierto orden de un conjunto de campos que el sistema usa para buscar y luego busca la fila real. Técnicamente, solo puede haber una clave que el sistema use para identificar una fila. La mayoría de las veces, este es también el índice principal, pero no tiene por qué serlo.


Una clave identifica la fila almacenada en la base de datos. Un índice es una estructura como la que está al final del libro. Al final de un libro, verá varias páginas con palabras y dónde puede encontrar esas palabras. Esas páginas son un índice y lo mismo es el caso de una base de datos. El índice contiene la clave y sus ubicaciones. Le ayuda a encontrar la ubicación de las filas. En el caso de un libro, el índice te dice en qué página puedes encontrar la palabra. El índice de la base de datos tiene la misma función.

Como muchos mencionan, el índice se implementa con b-trees. Sin embargo, esto es solo un detalle de implementación. Hay muchas formas de implementar un índice.


Una clave siempre tendrá un índice detrás de la escena. Si crea una clave principal, SQL Server creará un índice agrupado único para respaldar esa

Incluso cuando crea una restricción única, SQL Server también creará un índice

Y, por supuesto, la diferencia entre una restricción única y una clave primaria es que la restricción única permite al menos 1 valor NULL (1 en el servidor SQL más de uno en Oracle) Solo puede tener 1 clave primaria y muchas (249 en el servidor SQL) restricciones únicas en una mesa


Una clave debe ser el identificador único del modelo comercial para la fila. Una columna con un índice único podría considerarse una "clave alternativa". En general, los servidores SQL crearán un índice único para claves primarias automáticamente.

También debo mencionar que puede indexar columnas no únicas; índices como estos se utilizan para acelerar las consultas sobre las columnas indexadas.