Skip to main content

O poder das chaves estrangeiras em bancos de dados relacionais

Banco de Dados para INICIANTES (O que é, transações ACID) (Junho 2026)

Banco de Dados para INICIANTES (O que é, transações ACID) (Junho 2026)
Anonim

Os projetistas de bancos de dados fazem amplo uso de chaves ao desenvolver bancos de dados relacionais. Entre as mais comuns dessas chaves estão chaves primárias e chaves estrangeiras. Uma chave estrangeira do banco de dados é um campo em uma tabela relacional que corresponde à coluna de chave primária de outra tabela. Para entender como funciona uma chave estrangeira, vamos dar uma olhada mais de perto na ideia de um banco de dados relacional.

Algumas noções básicas de bancos de dados relacionais

Em um banco de dados relacional, os dados são armazenados em tabelas que contêm linhas e colunas, facilitando a pesquisa e a manipulação. Há alguma matemática séria por trás do conceito de um banco de dados relacional (álgebra relacional, proposta por E.F.

Codd na IBM em 1970), mas esse não é o tópico deste artigo.

Para fins práticos (e não-matemáticos), um banco de dados relacional armazena dados relacionados em linhas e colunas. Além disso - e aqui é onde fica interessante - a maioria dos bancos de dados é projetada para que os dados em uma tabela possam acessar os dados em outra tabela. Essa capacidade de criar relacionamentos entre tabelas é o poder real de um banco de dados relacional.

Usando Chaves Estrangeiras

A maioria das tabelas, especialmente aquelas em bancos de dados grandes e complexos, tem chaves primárias. As tabelas projetadas para acessar outras tabelas também devem ter uma chave estrangeira.

Para usar o banco de dados Northwinds comumente citado, aqui está um trecho de uma tabela de produtos:

O trecho da tabela de produtos do banco de dados Northwind
ID do produtoNome do ProdutoCategoria IDQuantityPerUPreço unitário
1Chai110 caixas x 20 sacos18.00
2Chang124 - garrafas de 12 onças19.00
3Xarope de Anis212 garrafas de 550 ml10.00
4Tempero Cajun do Chef Anton2Frascos de 48 a 6 onças22.00
5Gumbo Mix do Chef Anton236 caixas21.35
6Spread de mirtilo da vovó2Frascos de 12 a 8 oz25.00
7Peras Secas Orgânicas do Tio Bob712 - £ 1 pkgs.30.00

o ID do produto coluna é a chave primária desta tabela. Atribui um ID exclusivo a cada produto.

Esta tabela também contém uma coluna de chave estrangeira, Categoria ID. Cada produto na tabela Product vincula-se a uma entrada na tabela Categorias que define a categoria desse produto.

Observe este trecho da tabela de categorias do banco de dados:

Trecho da Tabela de Categorias do Northwind Database
Categoria IDNome da CategoriaDescrição
1BebidasRefrigerantes, cafés, chás, cervejas e cervejas
2CondimentosMolhos doces e salgados, condimentos, pastas e temperos
3ConfecçõesSobremesas, doces e sweetbreads
5LacticíniosQueijos

A coluna Categoria ID é a chave primária desta coluna. (Não tem chave estrangeira porque não precisa acessar outra tabela.) Cada chave estrangeira na tabela Product vincula-se a uma chave primária na tabela Categories. Por exemplo, o produto Chai recebe a categoria "Bebidas", enquanto Aniseed Syrup está na categoria Condimentos.

Esse tipo de vinculação cria uma infinidade de maneiras de usar e reutilizar dados em um banco de dados relacional.