Respuesta

5

El índice agrupado de una tabla se define normalmente en las columnas de clave principal.

Esto, sin embargo, no es un requisito estricto.

De MSDN:

Al crear una restricción PRIMARY KEY, un índice agrupado único en la columna o columnas se crea automáticamente si un índice agrupado en la tabla ya no existe y no especifica una índice único no agrupado.

Y:

se puede crear un índice agrupado en una columna distinta de la columna de clave principal si se ha especificado una restricción de clave principal no agrupada.

4

Una clave principal es, como su nombre lo indica, el principal identificador único para una fila en la tabla. Un índice agrupado físicamente ordena los datos de acuerdo con el índice. Aunque SQL Server agrupará una clave primaria de forma predeterminada, no existe una relación directa entre los dos.

9

¿Cómo se relaciona la palabra clave PRIMARY KEY con los índices agrupados en MS SqlServer?

De forma predeterminada, un PRIMARY KEY se implementa como un índice agrupado. Sin embargo, también puede respaldarlo con un índice no agrupado (especificando las opciones NONCLUSTERED en su declaración)

Un índice agrupado no es necesariamente un PRIMARY KEY. Incluso puede ser no exclusivo (en este caso, se agrega una columna oculta llamada uniqueifier a cada clave).

Tenga en cuenta que un índice agrupado no es realmente un índice (es decir, una proyección de una tabla ordenada de manera diferente, con las referencias a los registros originales). Es es la tabla en sí, con los registros originales ordenados.

Cuando crea un índice agrupado, realmente no "crea" nada que pueda apartarse de la tabla. Simplemente reorganiza la tabla y cambia la forma en que se almacenan los registros.

+1

Wow, uniquifier. Aprendí algo nuevo hoy. –

+1

Cuando crea un índice agrupado, crea una página de índice raíz y páginas intermedias. Todavía +1. –

Cuestiones relacionadas