Como criar relacionamentos entre tabelas com a constraint FOREIGN KEY
A FOREIGN KEY (chave estrangeira) cria um vínculo entre duas tabelas. Ela garante que o valor de uma coluna exista na tabela referenciada impedindo referências inválidas.
Carregando...
Com isso, o banco impede a inserção de um pedido com um cliente_id que não existe na tabela clientes.
Carregando...
ERROR: insert or update on table "pedidos" violates foreign key constraint
DETAIL: Key (cliente_id)=(999) is not present in table "clientes".
Carregando...
Nomear a constraint facilita identificar o erro quando ele ocorrer.
O que acontece com os pedidos quando o cliente é deletado?
Carregando...
Carregando...
Carregando...
A
FOREIGN KEYé o mecanismo que torna o banco verdadeiramente "relacional". Sem ela, nada impede que seus dados fiquem inconsistentes entre tabelas.