Digite para filtrar os verbetes do Glossário.

    Banco de dados · Formação DevOps

    Chave estrangeira

    Chave estrangeira é a coluna ou o conjunto de colunas que referencia uma chave válida, normalmente em outra tabela.

    Também chamado de: FK, foreign key, referência externa

    Definição

    Chave estrangeira é a coluna ou o conjunto de colunas que referencia uma chave válida, normalmente a chave primária de outra tabela. Ela transforma uma referência escrita no cadastro em um vínculo conferido pelo banco.

    Localizar a referência no cadastro

    No cadastro de pedidos, o campo cliente_id guarda o identificador do cliente que fez a compra. Sem uma chave estrangeira, o banco aceita qualquer número nesse campo, inclusive um que não corresponda a cliente algum. Com a restrição, cada valor precisa existir na tabela clientes.

    Restrição de chave estrangeirasql
    CREATE TABLE pedidos (
    id INTEGER PRIMARY KEY,
    cliente_id INTEGER,
    FOREIGN KEY (cliente_id) REFERENCES clientes (id)
    );

    Nessa estrutura, o banco compara o cliente_id gravado com os valores da coluna id da tabela clientes. A conferência acontece na gravação, e não apenas na hora de ler, o que muda o comportamento quando alguém tenta gravar um identificador que não existe.

    Referência não é restrição

    Ter uma coluna terminada em _id não cria, sozinho, uma chave estrangeira. O vínculo só existe quando a restrição é declarada no banco. A nomenclatura facilita a leitura do cadastro e evita dúvida ao consultar o esquema, mas é a constraint que garante o comportamento.

    Falha comum e como verificar

    A falha mais comum é gravar o valor sem declarar a restrição, porque a coluna aceita qualquer número e o erro só aparece quando alguém consulta um vínculo sem destino. Se a tabela pedidos guardar cliente_id 99 sem existir cliente 99, a consulta do pedido devolve um registro que não conversa com o cadastro. Para verificar, tente inserir um pedido com um cliente inexistente e observe a resposta do banco: com a chave estrangeira ativa, a gravação é recusada e a falha aparece na origem. Sem a restrição, a gravação passa e o problema só é percebido depois. A verificação vale também para remoções, pois excluir o cliente que ainda possui pedidos pode ser impedido pela restrição.

    Veja a chave que a referência aponta

    Dúvidas frequentes

    Perguntas frequentes sobre Chave estrangeira

    O que a chave estrangeira garante?
    Que o valor apontado exista na tabela referenciada, preservando a consistência entre os registros.
    Uma coluna terminada em _id cria uma chave estrangeira?
    Não. A restrição precisa ser declarada explicitamente no banco. Apenas o nome do campo não cria vínculo.
    A chave estrangeira sempre aponta para outra tabela?
    Em geral sim, mas também pode apontar para uma chave da própria tabela, como em registros com hierarquia.

    Para continuar

    Recursos relacionados

    Aplicação na formação

    Formação DevOps

    Na Formação DevOps, a chave estrangeira protege a consistência entre tabelas quando serviços e rotinas gravam registros vinculados.

    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$ 2.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva (segunda a sexta)
    • War Rooms às segundas, quartas e sextas
    • 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