O comando FOREIGN KEY em SQL é utilizado para estabelecer uma relação entre duas tabelas, garantindo a integridade referencial. Ele define uma chave estrangeira que faz referência à chave primária de outra tabela, assegurando que os dados relacionados entre as tabelas permaneçam consistentes. As chaves estrangeiras são essenciais para evitar a inserção de valores inconsistentes, como um valor de cliente que não exista na tabela de clientes. O uso correto do FOREIGN KEY mantém o banco de dados estruturado e organizado.
Exemplo
CREATE TABLE clientes (
id_cliente INT PRIMARY KEY,
nome VARCHAR(100)
);
CREATE TABLE pedidos (
id_pedido INT PRIMARY KEY,
id_cliente INT,
data_pedido DATE,
FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente)
);
Neste exemplo, a tabela clientes contém a chave primária id_cliente. A tabela pedidos tem uma coluna id_cliente, que é definida como FOREIGN KEY, fazendo referência à chave primária da tabela clientes. Isso garante que qualquer valor inserido na coluna id_cliente da tabela pedidos deve existir na tabela clientes, evitando dados órfãos ou inconsistentes. Caso você tente inserir um pedido com um id_cliente que não exista na tabela clientes, o banco de dados irá gerar um erro.