Restrições PRIMARY KEY

Geralmente, uma tabela tem uma coluna ou uma combinação de colunas que contém valores que identificam exclusivamente cada linha na tabela. Essa coluna, ou colunas, é chamada de chave primária (PK) da tabela e impõe a integridade da entidade da mesma. Você pode criar uma chave primária definindo uma restrição PRIMARY KEY quando você criar ou modificar uma tabela.

A tabela só pode ter uma restrição PRIMARY KEY, e a coluna que participa da restrição PRIMARY KEY não pode aceitar valores nulos. Como as restrições PRIMARY KEY garantem dados exclusivos, elas são freqüentemente definidas em uma coluna de identidade.

Quando especificar uma restrição PRIMARY KEY para uma tabela, o Mecanismo de Banco de Dados impõe a exclusividade dos dados criando um índice exclusivo para as colunas de chave primária. Esse índice também permite um acesso rápido aos dados quando a chave primária for usada em consultas. Portanto, as chaves primárias escolhidas devem seguir as regras para o criando índices exclusivos.

Se uma restrição PRIMARY KEY for definida em mais de uma coluna, os valores podem ser duplicados em uma coluna, mas cada combinação de valores de todas as colunas na definição da restrição PRIMARY KEY deve ser exclusiva.

Conforme mostrado na ilustração a seguir, as colunas ProductID e VendorID na tabela Purchasing.ProductVendor formam uma restrição PRIMARY KEY composta para essa tabela. Isto garante que a combinação ProductID e VendorID seja exclusiva.

Restrição de PRIMARY KEY composta

Quando você trabalha com junções, as restrições PRIMARY KEY relacionam uma tabela à outra. Por exemplo, para definir os fornecedores que oferecem determinados produtos, você pode usar uma junção de três partes entre a tabela Purchasing.Vendor, a tabela Production.Product e a tabela Purchasing.ProductVendor. Como ProductVendor contém as colunas ProductID e VendorID, a tabela Produto e a tabela Fornecedor podem ser acessadas por sua relação com ProductVendor.