Podemos declarar un me Identity
gusta id_num
para que id_num
tenga un incremento de números únicos.
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
¿Se recomienda usar Identity
como alternativa Primary key
ya que Identity
proporcionó un número único para cada fila?
IDENTITY
como clave principal (no como alternativa a una PK). Es una clave primaria muy buena y muy eficiente (que por defecto también es la clave de agrupación en SQL Server): es estrecha, generalmente estática, generalmente es única (a menos que juegues con las especificaciones de identidad), y siempre es- crecienteRespuestas:
Identity columns
yPrimary Keys
son dos cosas muy distintas. UnIdentity column
proporciona un número de incremento automático. Eso es todo lo que hace. ElPrimary Key
(al menos en SQL Server) es una restricción única que garantiza la unicidad y suele ser (pero no siempre) la clave agrupada. Nuevamente en MS SQL Server también es un índice (en algunos RDBMS no están tan estrechamente vinculados). Como índice, proporciona búsquedas más rápidas, etc.Identity columns
Se utilizan con frecuencia comoPrimary Key
si nonatural key
existiera nada bueno , pero no son un sustituto.fuente
clustered index key
donde diceprimary key
.No, no lo es, porque la identidad no garantiza un valor único. Se puede omitir la propiedad de identidad
SET IDENTITY_INSERT <schema>.<table> ON
(en SQL Server, no especificó qué RDBMS está utilizando).Una restricción de clave principal (y una restricción única) usa un índice único para imponer la unicidad.
fuente
Identity
yPrimary Key
no son equivalentes y tienen dos propósitos distintos.