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 ao número fornecido Primary key
desde Identity
cada linha?
IDENTITY
como chave primária (não como alternativa a uma PK). Ela cria uma chave primária muito boa e muito eficiente (que por padrão também é a chave de cluster no SQL Server) - é estreita, geralmente estática, é tipicamente exclusiva (a menos que você mexa nas especificações de identidade) e é sempre- aumentandoRespostas:
Identity columns
ePrimary Keys
são duas coisas muito distintas. UmIdentity column
fornece um número de incremento automático. É 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 em cluster. Novamente no MS SQL Server, também é um índice (em alguns RDBMS, eles não estão tão intimamente ligados). Como índice, ele fornece pesquisas mais rápidas, etc. FreqüentementeIdentity columns
são usadas comoPrimary Key
se não houvesse bomnatural key
, mas não são um substituto.fonte
clustered index key
onde dizprimary key
.Não, não é, porque a identidade não garante um valor único. A propriedade de identidade 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.
fonte
Identity
ePrimary Key
não é equivalente e serve a dois propósitos distintos.