Como criar uma chave primária do SQL Server?

Exemplos de código T-SQL para adicionar uma restrição de chave primária a uma coluna para evitar inserir várias vezes a mesma chave.

Como criar uma tabela com uma chave primária no SQL Server? Uma chave primária de banco de dados é projetada para permitir que um valor único identifique uma linha em uma tabela. Primeiro, qual é o propósito de uma chave primária? E além disso, qual é a definição de uma chave primária? Confira os seguintes exemplos para criar uma chave primária e gerenciar duplicatas em projetos de banco de dados.

O que é uma chave primária no SQL?

No SQL Server, uma chave primária é uma restrição que identifica de forma única cada registro dentro de uma tabela de banco de dados. Ele garante que não haja duas linhas com valores duplicados na(s) coluna(s) da chave primária e garante a integridade do conjunto de dados. Uma chave primária pode consistir em uma única coluna ou em uma combinação de várias colunas (chave primária composta).

Além disso, a chave primária cria automaticamente um índice exclusivo na(s) coluna(s) especificada(s) para acelerar consultas e garantir a unicidade. Portanto, resumindo, uma chave primária garante que apenas uma linha única tenha um ID específico. Para criar uma tabela e adicionar uma chave primária a ela, siga estas quatro etapas:

  1. Primeiro, projete a tabela de clientes usando código SQL.
  2. Em segundo lugar, adicione uma restrição na coluna selecionada para ser a chave.
  3. Insira duas linhas com o mesmo ID do cliente.
  4. Verifique os dados resultantes na tabela.

Passo 1: Projetar a tabela de clientes com uma coluna de ID do cliente

Projete e crie uma tabela de clientes com uma coluna de ID para armazenar o número do cliente.

-- Criar tabela de clientes com a coluna CustomerID declarada como NOT NULL
CREATE TABLE dbo.Clientes (
   [CustomerID]   INT NOT NULL,
   [Nome]         NVARCHAR(20),
   [Sobrenome]    NVARCHAR(20),
   [Cidade]       NVARCHAR(20),
   [País]         NVARCHAR(50)
)
GO

Passo 2: Adicionar a chave primária do SQL Server à coluna

Aqui, a chave primária é a coluna ID do cliente. Use o comando T-SQL ADD CONSTRAINT PRIMARY KEY para criar a restrição.

2.1 Use uma instrução T-SQL alter table para criar a chave

ALTER TABLE dbo.Clientes 
   ADD CONSTRAINT [ClientesPrimaryKeyCustomerID] 
      PRIMARY KEY CLUSTERED ([CustomerID] ASC);
GO 
Adicionar uma Chave Primária do SQL Server a uma tabela com um script T-SQL
Adicionar uma Chave Primária do SQL Server a uma tabela com um script T-SQL

2.2 Criar a chave na instrução Create Table

Claro, outra abordagem é adicionar a chave primária diretamente na instrução create table, como no código abaixo, por exemplo.

-- Excluir a tabela de clientes se ela existir
DROP TABLE IF EXISTS dbo.Clientes;
GO

-- Criar a tabela de clientes com a coluna CustomerID declarada como NOT NULL e definida como chave primária
CREATE TABLE dbo.Clientes (
   [CustomerID]   INT NOT NULL PRIMARY KEY CLUSTERED,
   [Nome]         NVARCHAR(20),
   [Sobrenome]    NVARCHAR(20),
   [Cidade]       NVARCHAR(20),
   [País]         NVARCHAR(50)
)
GO

Passo 3: Inserir duas linhas com o mesmo ID para testar a chave primária

De fato, a única maneira de verificar a restrição é usá-la. Insira duas linhas com o mesmo ID do cliente para verificar se a chave primária funciona como esperado.

-- Inserir duas linhas diferentes com o mesmo número de cliente
INSERT INTO dbo.Clientes (CustomerID, Nome, Sobrenome, Cidade, País) 
VALUES ( 1, 'Ali','Ahmed','Cairo','Egito');

INSERT INTO dbo.Clientes (CustomerID, Nome, Sobrenome, Cidade, País) 
VALUES ( 1, 'Johnny','John','Toronto','Canadá');

Observe o erro de violação da restrição de chave primária:

Msg 2627, Nível 14, Estado 1, Linha 22
Violação da restrição PRIMARY KEY ‘ClientesPrimaryKeyCustomerID’. Não é possível inserir uma chave duplicada no objeto ‘dbo.Clientes’. O valor da chave duplicada é (1).
A instrução foi encerrada.

Passo 4: Verificar os dados e o comportamento da chave primária

Após isso, apenas uma única linha está disponível na tabela com o ID um. Agora, é possível atribuir apenas um valor a um ID de cliente, tornando-o único na tabela. Para ir além, observe algumas coisas sobre as chaves primárias do SQL Server. No entanto, essas limitações e comportamentos específicos das chaves primárias fazem parte integrante de como as chaves funcionam:

  1. Primeiro, apenas uma chave primária por tabela.
  2. Uma chave primária pode ser uma chave composta usando várias colunas. Por exemplo, uma concatenação dessas colunas: ID + Nome + Sobrenome.
  3. Além disso, uma coluna usada como chave primária não pode ser NULL, portanto, é definida como NOT NULL.
  4. Também, uma chave primária tem, por padrão, o seu correspondente Índice Clusterizado criado automaticamente.
  5. Se especificado no script, o índice também pode ser não clusterizado.

Conclusão sobre a chave primária do SQL Server

Em conclusão, criar uma tabela do SQL Server com uma restrição de chave primária é uma etapa crucial para manter a integridade de um banco de dados. A chave primária garante que apenas um valor único identifique uma linha em uma tabela e não pode ser NULL. Seguindo as quatro etapas descritas neste tutorial, os usuários podem facilmente adicionar uma restrição de chave primária às suas tabelas do SQL Server. Lembre-se de que uma tabela pode ter apenas uma chave primária, mas ela pode ser uma chave composta usando várias colunas.

Além disso, as restrições de chave primária têm seu índice clusterizado correspondente criado automaticamente. Compreender as limitações e comportamentos das chaves primárias é essencial para projetar estruturas de banco de dados eficazes. Para saber mais sobre objetos SQL, aqui está um guia passo a passo para como utilizar as tabelas temporais do SQL Server.

Seja o primeiro a comentar

Deixe uma resposta

O seu endereço de email não será publicado.


*