Estoy creando una base de datos en SQL Server 2008,base de datos: clave primaria, agrupados o no agrupados
CREATE TABLE Users
(
U_Id INT NOT NULL
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Email VARCHAR(200)
Password VARCHAR(50)
)
Quiero hacer u_id la clave principal. me gustaría preguntar cuál es la diferencia entre
CONSTRAINT pk_UserID PRIMARY KEY (U_Id)
este
CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)
y esto
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)
cuándo utilizar cada uno?
Leí un artículo pero todavía no está claro para mí. ¿Puede alguien darme una explicación rápida?
Solo tenga en cuenta que cualquier índice no agrupado que cree siempre incluirá los datos en el índice agrupado (porque así es como se encuentra la fila de datos reales en la tabla). [Microsoft docs] (http://msdn.microsoft.com/en-us/library/ms177484.aspx) Así que no creas que ahorrarás espacio haciendo que un índice grande/amplio sea el índice agrupado a menos que no tiene otros índices en la mesa. – Granger
clave principal es el identificador de una fila. Debe ser único y no nulo. Index agrupado le dice a SQL cómo almacenar datos en el disco. Las filas de datos reales se almacenan en el orden especificado por este índice. Dado que también contiene datos sobre dónde se almacenan los datos en el disco, la clave del índice agrupado se almacena en cada índice. En casi todos los casos, es mejor hacer que estos sean los mismos. Y casi siempre es mejor tener la clave principal como un identificador para que los datos se almacenen en el disco secuencialmente. – brianfeucht