Podemos declarar um Identity
like id_num
para que id_num
tenha um incremento de números únicos.
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
É recomendável usar Identity
como alternativa, Primary key
pois Identity
forneceu um número exclusivo para cada linha?
Identity columns
ePrimary Keys
são duas coisas muito distintas. AnIdentity column
fornece um número de incremento automático. Isso é tudo o que faz. APrimary Key
(pelo menos no SQL Server) é uma restrição exclusiva que garante exclusividade e geralmente é (mas nem sempre) a chave clusterizada. Novamente no MS SQL Server também é um índice (em alguns RDBMS eles não estão tão intimamente ligados). Como um índice, ele fornece pesquisas mais rápidas, etc. FreqüentementeIdentity columns
são usados comoPrimary Key
se não houver um bomnatural key
, mas não são um substituto.Não, não é, porque a identidade não garante um valor único. A propriedade identity pode ser ignorada
SET IDENTITY_INSERT <schema>.<table> ON
(no SQL Server - você não especificou qual RDBMS está usando).Uma restrição de chave primária (e uma restrição exclusiva) usa um índice exclusivo para impor exclusividade.