A identidade de uma linha
Chave primária é a coluna ou combinação de colunas escolhida para identificar cada linha de uma tabela. Em bancos relacionais como PostgreSQL, a restrição exige valores únicos e não nulos. Duas linhas não podem compartilhar a mesma combinação de chave primária.
Considere dois contatos chamados Ana Silva. O nome descreve os cadastros, mas não permite distingui-los com segurança. Identificadores diferentes permitem consultar e atualizar cada linha, mesmo quando outros campos coincidem.
Essa identidade deve ser adequada ao uso da aplicação. Um número sequencial e um UUID são alternativas comuns, mas não representam as únicas possibilidades. A escolha considera também geração, tamanho, referências e manutenção do identificador.
Declarar a chave no banco
CREATE TABLE contatos (
id INTEGER PRIMARY KEY,
nome TEXT NOT NULL
);No exemplo, a coluna id identifica a linha, mas a declaração não configura geração automática de números no PostgreSQL. A inserção precisa fornecer esse valor explicitamente. Para delegar a geração ao banco, seria necessário configurar um mecanismo apropriado, como uma coluna de identidade.
Chave simples e composta
Uma chave simples usa uma coluna. Uma chave composta usa mais de uma, como a combinação de identificador do curso e identificador da pessoa em uma matrícula. Nessa combinação, cada valor pode se repetir isoladamente, desde que o par continue único.
Uma tabela pode ter outras restrições de unicidade além da chave primária. Por exemplo, id pode ser a chave primária, enquanto UNIQUE impede repetir um código externo informado. A tabela continua tendo uma única chave primária, mesmo com outras colunas sujeitas à unicidade.
Estabilidade não é imutabilidade automática
Escolher um valor estável facilita manter referências, mas a declaração PRIMARY KEY não torna a coluna automaticamente imutável. Atualizações podem ser permitidas conforme as restrições e as ações configuradas nas referências. O projeto precisa definir se essa alteração faz sentido.
Usar email ou nome como identidade pode exigir lidar com mudanças e duplicidades legítimas. Uma chave técnica separa a identidade interna dessas descrições, quando essa organização atende ao modelo. O identificador também não concede permissão de acesso ao registro.
Como conferir a identidade
Consulte a definição da tabela e verifique quais colunas formam a chave. Teste duplicidade e ausência em um ambiente apropriado. Depois, confira se as consultas da aplicação usam a identidade correta, especialmente quando a chave é composta.
O verbete de chave estrangeira explica como outra tabela pode referenciar essa identidade.
Dúvidas frequentes
Perguntas frequentes sobre Chave primária
- Chave primária precisa ser um número sequencial?
- Pode usar outros tipos compatíveis com o banco, como UUID ou texto. O valor ou a combinação deve identificar a linha de forma única e não nula.
- PRIMARY KEY gera números automaticamente?
- No PostgreSQL, a restrição sozinha não configura geração automática. Uma coluna de identidade, sequência ou outro mecanismo deve fornecer os valores quando necessário.
- O que é uma chave primária composta?
- É uma chave formada por mais de uma coluna. A combinação precisa ser única, mesmo que valores individuais se repitam em outras linhas.
- A chave primária é automaticamente imutável?
- A restrição exige identidade única e não nula, mas não proíbe toda atualização. Chaves estrangeiras podem impedir a mudança ou propagá-la às referências, conforme a ação configurada.
Para continuar
Recursos relacionados
Documentação
Restrições de tabela no PostgreSQL
Documenta chaves, unicidade, referências e restrições de valores.
Abrir recursoDocumentação
Tabelas no PostgreSQL
Apresenta linhas, colunas e tipos na definição de tabelas.
Abrir recursoSite de referência
Desenvolvimento Colaborativo da Dev Side Studio
Conheça o acompanhamento técnico ao vivo para revisar a identificação dos registros e as restrições de unicidade das tabelas.
Abrir recursoAplicação na formação
Formação DevOps
A chave primária identifica os registros que consultas e outras tabelas precisam referenciar.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.