Chave Estrangeira
O que é uma Chave Estrangeira?
Uma chave estrangeira (foreign key) é um campo ou conjunto de campos em uma tabela que faz referência à chave primária de outra tabela (ou da mesma tabela, em auto-relacionamentos). Ela garante a integridade dos dados, impedindo que registros “órfãos” sejam criados.
Por que é importante?
- Mantém a consistência entre tabelas relacionadas.
- Evita dados desconectados (por exemplo, um aluno em uma turma inexistente).
- Permite a navegação e junção eficiente de dados.
Termos Importantes
- Chave Referenciada: a chave primária que está sendo apontada.
- Tabela dependente (filha): contém a chave estrangeira.
- Tabela referenciada (pai): é referenciada pela chave estrangeira.
Exemplo Prático
Considere duas tabelas: PESSOAS e SEXO.
| PESSOAS | SEXO |
|---|---|
| id (PK) | id (PK) |
| nome | descricao |
| id_sexo (FK) | … |
No exemplo acima, o campo id_sexo em PESSOAS é uma chave estrangeira que referencia id em SEXO.
Expressão:
(sexo.id = pessoas.id_sexo)
Diagrama de Relacionamento
erDiagram
SEXO ||--o{ PESSOAS : possui
SEXO {
int id PK
string descricao
}
PESSOAS {
int id PK
string nome
int id_sexo FK
}
Legenda: PK = chave primária, FK = chave estrangeira
Benefícios da Chave Estrangeira
- Garante integridade referencial automaticamente.
- Facilita consultas entre tabelas relacionadas (JOINs).
- Permite modelar relacionamentos 1:N e N:N.