2009-04-20 15 views

Respuesta

16

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.

4

Una clave identifica de forma ú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 que serlo.

+0

Pensé que podría tener más de una llave sobre una mesa. –

+0

Solo puede tener una clave principal. Esa clave principal puede consistir en más de un campo, pero solo hay una clave. También puede tener una o más claves foráneas definidas, pero creo que pueden estar fuera del alcance de su pregunta. –

2

Ú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.

+0

Para ser claros, los índices agrupados son pedidos físicos, mientras que los índices no agrupados son lógicos. –

3

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.

2

Una clave debe ser el identificador único del modelo de negocio 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 debería mencionar que puede indexar columnas no únicas; índices como estos se utilizan para acelerar las consultas sobre las columnas indexadas.

1

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

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

Y, por supuesto, la diferencia entre una restricción única y una clave principal 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 principal y muchas (249 en el servidor SQL) restricciones únicas en una tabla

9

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.

+2

Esta es una gran explicación, especialmente porque la pregunta parece venir más desde el punto de vista de un usuario de BD principiante a intermedio. –

+3

Piense en la "clave" como el número de página, y el "índice" como se describe aquí ... Excelente correlación. – GalacticCowboy

1

La clave tiene por defecto un índice de clúster en el servidor MS SQL.

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 p.

  • índice de mapa de bits
  • índice denso
  • índice disperso
  • Cubriendo Índice
4

Una clave (declaración) es una restricción. Impide que se ingresen filas 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 problema, 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 principal. 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.

2

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 de una tabla, 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 principalmente una manera de pensar en la base de datos (aunque generalmente es posible decirle a la base de datos sobre 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.

Cuestiones relacionadas