none
Chave Estrangeira

    Question

  •  

    Galera alguem poderia me explicar como funciona a chave estrangeira e pra que ela serve?

     

    Obrigado

    Saturday, July 19, 2008 4:20 PM

Answers

All replies

  • SirSMart,

    O conceito vc pode verificar neste link:

     

    http://pt.wikipedia.org/wiki/Chave_estrangeira

     

    Achei esse material que seria interessante conferir, não li a fundo mas acho que responde a sua dúvida:

     

    http://www.abusar.org/ftp/pub/pitanga/modelologico.ppt#37

     

    [ ]s.

    Saturday, July 19, 2008 4:23 PM
    Moderator
  • Boa Tarde,

     

    Se usamos a expressão "chave estrangeira" é porque certamente estamos falando de bancos de dados relacionais e se estamos falando de banco de dados relacionais certamente nos depararemos com as tabelas.

     

    Uma tabela geralmente armazena dados de "alguma coisa" do mundo real com características próprias. Temos tabelas de clientes, tabelas de produtos, tabelas de documentos, etc. Cada tabela é uma coleção de registros e idealmente falando cada um desses registros deve ser único, ou seja, podemos ter vários clientes, podemos ter vários produtos, podemos ter vários documentos mas cada um desses itens deve ser único.

     

    Podemos ter clientes que compartilham a mesma característica, ou seja, moram na mesma cidade, ou ainda tenham o mesmo nível de escolaridade, mas ainda que eles tenham características em comum, haverá uma característica única, seja um código, um CPF, um RG, etc. Didaticamente falando podemos entender essa característica única como a chave primária. Em nosso exemplo, o CPF do cliente pode ser a chave primária, o código do produto pode ser a chave primária e o número do documento pode ser a chave primária.

     

    O mundo relacional funciona com base em tabelas, mas elas por si só não tem todos os dados (a menos que houvesse uma única tabela o que certamente contraria a filosofia do modelo). As tabelas possuem os dados e possuem suas chaves primárias, mas possuem dependências entre si. Essas dependência são conhecidas como relacionamentos. Uma tabela de pedidos pode ter uma chave primária de pedido, mas depende da tabela de clientes por exemplo. Isso significa que para cada pedido é preciso saber qual o cliente que fez aquele pedido.

     

    A chave estrangeira é a referência para uma outra tabela, ou seja, uma tabela "estrangeira". Ela refere-se a uma chave primária de uma tabela "estrangeira". No nosso exemplo, a tabela de pedidos tem que ter o CPF do cliente (que é a chave primária da tabela de clientes) para que saibamos qual é o cliente que fez aquele pedido. Diz-se então que o CPF é uma chave estrangeira, pois, referencia uma chave primária em outra tabela.

     

    [ ]s,

     

    Gustavo

    Saturday, July 19, 2008 6:49 PM
    Moderator