Chave primária SQL: Criar e adicionar a uma tabela existente

⚡ Resumo Inteligente

Uma chave primária no SQL Server é uma coluna ou conjunto de colunas cujos valores identificam exclusivamente cada linha em uma tabela. Cada tabela possui uma chave primária, e suas colunas nunca podem ser NULL.

  • 🔑 O que é uma chave primária? Uma chave primária é uma ou mais colunas cujos valores são únicos e identificam cada linha em uma tabela.
  • 🚫 Regras básicas: Uma tabela permite apenas uma chave primária, cada valor deve ser único e nenhuma coluna de chave pode conter valores NULL.
  • 🖱️ Dois métodos de criação: O Designer de Tabelas do SQL Server Management Studio e a instrução CREATE TABLE do T-SQL definem uma chave primária.
  • 🧱 Cláusula CONSTRAINT: Dentro do comando CREATE TABLE, a cláusula CONSTRAINT … PRIMARY KEY especifica a chave e lista sua(s) coluna(s).
  • Adicionar a uma tabela existente: ALTER TABLE … ADD CONSTRAINT adiciona uma chave primária às colunas NOT NULL de uma tabela existente.
  • 🧩 Chave composta: Uma chave primária pode combinar até 16 colunas, formando uma chave composta que é única em todo o conjunto.

Chave primária do SQL Server: como criar e adicionar a uma tabela existente

O que é chave primária em SQL?

Uma chave primária em SQL Server Uma chave primária é um campo, ou uma combinação de campos, que identifica um registro de forma única. Trata-se de uma coluna ou um conjunto de colunas em que cada valor é único. Em outras palavras, duas linhas não podem compartilhar o mesmo valor de chave primária.

Regras para chave primária

  • Cada tabela pode ter apenas uma chave primária.
  • Todos os valores são únicos e o valor da chave primária pode identificar exclusivamente cada linha.
  • O sistema não permitirá a inserção de uma linha cujo valor da chave primária já exista na tabela.
  • Uma chave primária não pode ser NULL.

O diagrama abaixo resume todos os pontos acima sobre a chave primária em SQL.

Diagrama que resume as regras de chave primária do SQL: valores únicos, um por tabela e não nulo.

Como criar chave primária no SQL Server

Você pode criar uma chave primária de duas maneiras:

Vamos estudar cada método em detalhes.

SQL Server Management Studio

Passo 1) Clique com o botão direito do mouse no nome da tabela e clique em Design.

Clique com o botão direito do mouse na tabela e escolha "Design" no SQL Server Management Studio.

Passo 2) Clique com o botão direito do mouse no nome da coluna e clique em Definir chave primária.

Clique com o botão direito do mouse na coluna e selecione "Definir chave primária" no Designer de Tabelas.

Resultado: Course_Id agora é uma chave primária, indicada por um ícone de chave ao lado da coluna.

A coluna Course_Id está marcada com um ícone de chave como chave primária.

T-SQL: Criar uma chave primária ao criar uma nova tabela

A seguir está a sintaxe para criar uma mesa com uma chave primária do T-SQL.

Sintaxe:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

Aqui, CONSTRAINT nomeia a chave, PRIMARY KEY marca a coluna que deve permanecer única e cada coluna também precisa de uma chave primária. tipo de dados.

Vamos criar uma tabela com uma coluna como chave primária SQL.

Inquérito:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

Passo 1) Execute a consulta clicando em Execute.

Executando a consulta CREATE TABLE que define a chave primária Course_ID.

Resultado: Course_Id agora é uma chave primária na tabela COURSE_TSQL_PK.

A tabela COURSE_TSQL_PK mostra o ID do curso definido como chave primária.

Exemplo: Vamos verificar se é possível inserir vários registros com o mesmo ID de curso.

Passo 1) Insira quatro linhas com valores diferentes de Course_ID.

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

Etapa 2) Verifique se todos os dados foram inseridos com sucesso executando a consulta SELECT.

O resultado da consulta SELECT mostra quatro linhas com valores distintos de Course_ID.

Observação: É possível inserir valores duplicados em uma coluna que não seja chave primária.

Passo 3) Agora vamos tentar inserir um novo registro com um Course_ID existente, que é a chave primária.

Insert into COURSE_TSQL_PK values (4,'JAVA');

Resultado: O sistema não permite a inserção do novo valor, porque o valor 4 já existe na coluna Course_ID, que é uma chave primária.

Mensagem de erro rejeitando um valor de chave primária duplicado para Course_ID

Como adicionar chave primária a uma tabela existente em SQL?

Agora veremos como adicionar uma chave primária a uma tabela existente em SQL.

Você pode usar a instrução ALTER para criar uma chave primária. No entanto, uma chave primária só pode ser criada em colunas definidas como NOT NULL. Não é possível criar uma chave primária em uma coluna que permite valores NULL; se uma coluna atualmente permite valores NULL, você deve primeiro alterá-la para NOT NULL ou excluir e recriar a tabela.

Aqui está a sintaxe:

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

Por exemplo:

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

Instrução ALTER TABLE adicionando uma restrição de chave primária chamada students_pk

Adicionamos uma restrição de chave primária a uma tabela já existente. A restrição foi adicionada na coluna de admissão e recebeu o nome Students_pk.

Fatos interessantes!

  • Uma chave primária pode ser uma combinação de várias colunas. Essa combinação é conhecida como chave primária composta.
  • Uma chave primária pode ter no máximo 16 colunas.

Perguntas Frequentes

Ambos os métodos garantem a unicidade. Uma tabela permite apenas uma chave primária e suas colunas não podem ser NULL. Uma tabela pode conter várias chaves únicas e uma coluna única pode aceitar um valor NULL. As chaves primárias geralmente definem o identificador principal da linha.

Sim. O SQL Server cria automaticamente um índice exclusivo para garantir a chave primária. Por padrão, esse índice é clusterizado, o que ordena fisicamente as linhas. Você pode especificar NONCLUSTERED em vez disso, quando outra coluna já contiver o índice clusterizado.

Uma chave primária composta combina duas ou mais colunas de forma que seus valores sejam únicos em conjunto, mesmo quando cada coluna se repete individualmente. O SQL Server permite que uma chave primária abranja até 16 colunas e um comprimento total de chave de 900 bytes.

Uma chave primária identifica exclusivamente cada linha dentro de sua própria tabela e nunca permite valores NULL. chave estrangeira Armazena valores que devem corresponder a uma chave primária ou exclusiva em outra tabela, criando uma relação entre as duas tabelas.

Execute o comando ALTER TABLE nome_da_tabela DROP CONSTRAINT nome_da_restrição. Você precisa saber o nome da restrição, que pode ser encontrado em sys.key_constraints. Remova a restrição.ping A chave primária também remove seu índice exclusivo de suporte e qualquer chave estrangeira que a referencie.

Uma coluna IDENTITY que gera números automaticamente é uma chave primária substituta popular porque permanece restrita, estável e nunca nula. Escolha uma chave natural apenas quando uma coluna existente, como um código de produto, já tiver a garantia de ser única.

Sim. Travas deslizantes portáteis Copiloto do GitHub É possível escrever instruções CREATE TABLE e restrições PRIMARY KEY a partir de prompts em linguagem natural e sugerir colunas-chave adequadas. Sempre revise as chaves geradas, os tipos de dados e a possibilidade de valores nulos e teste o script antes de executá-lo em produção.

Ferramentas de IA e aprendizado de máquina analisam dados de amostra e padrões de consulta para recomendar qual coluna ou colunas devem ser a chave primária, sinalizar chaves candidatas que contenham duplicatas ou valores NULL e sugerir chaves substitutas. O desenvolvedor confirma cada recomendação antes de aplicá-la.

Resuma esta postagem com: