Digite para filtrar os verbetes do Glossário.

    Banco de dados · Formação DevOps

    O que é Chave primária?

    Chave primária identifica cada linha de uma tabela. Entenda unicidade, valores não nulos, chaves compostas e a diferença entre identidade e descrição.

    Também chamado de: PK, primary key, identificador único

    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

    Tabela didática com chave primáriasql
    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

    Aplicaçã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
    Capa da Formação DevOps

    Fontes consultadas

    Referências deste verbete

    Este verbete ajudou você?

    Planos Promovaweb

    Tire seus projetos do papel

    O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

    Plano Martech

    Para conectar automação, marketing e atendimento com infraestrutura própria.

    R$ 897

    R$ 597/ano

    • Grade de automação, atendimento, marketing e análise de indicadores
    • Instalador Exclusivo Promovaweb
    • n8n, Evolution API, Chatwoot e Mautic
    • Trilha DevOps incluída
    • Encontros ao vivo (terça e quinta)
    • Comunidade e acompanhamento
    Conhecer o plano

    Plano Founders

    Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

    R$ 1.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva, um encontro por dia útil
    • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
    • Encontro semanal em grupo após a fase intensiva
    • Formação Vibe Coding incluída no plano anual
    • Consultoria individual de até duas horas (bônus)
    Conhecer o plano