Chave Estrangeira

Em PostgreSQL, uma chave estrangeira (foreign key) é um campo ou um conjunto de campos em uma tabela que se refere à chave primária de outra tabela. A chave estrangeira estabelece uma relação entre as duas tabelas, permitindo que você mantenha a integridade referencial dos dados entre elas. Ou seja, garante que os valores na coluna que contém a chave estrangeira correspondam aos valores na coluna da chave primária na tabela referenciada.

Aqui está a sintaxe básica para criar uma chave estrangeira durante a criação de uma tabela:

CREATE TABLE tabela_filha (
    id SERIAL PRIMARY KEY,
    nome_da_coluna tipo_de_dado,
    chave_estrang_capita nome_da_coluna_da_tabela_pai REFERENCES tabela_pai(nome_da_coluna_da_tabela_pai)
);

Neste exemplo:

  • tabela_filha é a tabela que contém a chave estrangeira.
  • id é o campo que servirá como chave primária na tabela tabela_filha.
  • nome_da_coluna é um campo na tabela tabela_filha.
  • tabela_pai é a tabela à qual a chave estrangeira se refere.
  • nome_da_coluna_da_tabela_pai é a coluna na tabela tabela_pai que é a chave primária referenciada pela chave estrangeira.

Se você já possui uma tabela e deseja adicionar uma chave estrangeira, você pode usar a seguinte sintaxe:

ALTER TABLE tabela_filha
ADD CONSTRAINT nome_da_chave_estrang_capita FOREIGN KEY (nome_da_coluna) REFERENCES tabela_pai(nome_da_coluna_da_tabela_pai);

Neste comando, nome_da_chave_estrang_capita é o nome da chave estrangeira e nome_da_coluna é o nome da coluna que será a chave estrangeira na tabela filha.

A chave estrangeira é uma ferramenta poderosa para garantir a integridade referencial em um banco de dados PostgreSQL. Ela assegura que os dados estejam consistentes e que as relações entre as tabelas sejam mantidas.