Agora que já sabemos o que é uma chave primária simples e o que é uma chave primária composta, podemos falar sobre o terceiro e último tipo de chave que separei para explicar, que é a chave estrangeira.

Uma chave estrangeira nada mais é do que uma coluna que referencia a chave primária de outra tabela. É graças à chave estrangeira que podemos interligar tabelas mantendo a consistência dos dados.

Vamos imaginar que estejamos desenvolvendo uma aplicação para uma uma empresa de transportes intermunicipais de passageiros e precisamos organizar os dados em duas tabelas, conforme ilustra a imagem abaixo:

Chave Estrangeira

Aí estão as duas tabelas que precisamos criar. A ideia é que a primeira tabela, chamada de “Passageiro” contenha informações sobre o passageiro que adquiriu a passagem. O destaque fica por conta da última coluna, que armazena o código da cidade de destino do passageiro.

Na segunda tabela, chamada de “Destino”, temos o código da cidade na primeira coluna e o nome da cidade na sequência. Bem, fica claro perceber que não podemos, jamais, inserir um código de cidade na coluna “Código da Cidade de Destino” da tabela “Passageiro” que não exista na coluna de mesmo nome na tabela “Destino”. Se fizermos isso estaremos adicionando uma cidade sem nome ou ainda não cadastrada no banco. Não faria sentido! Para garantir que isso nunca acontecerá, existe a chave estrangeira.

Conforme citado no início do tópico, uma chave estrangeira é uma coluna que referencia a chave primária de outra tabela. É o que faremos neste exemplo. A coluna referente aos códigos de cidade da tabela “Passageiro” será chave estrangeira da coluna de códigos da tabela “Destino”. A imagem abaixo ajuda a ilustrar essa ideia:

Chave Estrangeira

Fazendo isso, caso tentemos inserir um valor na coluna “Código da Cidade de Destino” da tabela “Passageiro” que não esteja cadastrado na coluna de mesmo nome da tabela “Destino”, o SGBD nos alertará e impedirá essa inserção. Isso garante a integridade dos dados. A coluna "Código da Cidade de Destino" da tabela "Passageiro" só aceitará valores já inseridos na coluna "Código da Cidade de Destino" da tabela "Destino".

Isso é uma chave estrangeira. Resumindo, é a coluna de uma tabela que referencia a chave primária de outra tabela, visando garantir a integridade dos dados inseridos.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.