none
Chave Primária e Estrangeira (quando usar ?).

    Question

  • bom dia,

    pessoal, sempre usei chave primária nas tabelas, mas para falar a verdade quase nunca usei a chave estrangeira, mas agora surgiu a necessidade e gostaria de entender exatamente para que devo usar as chaves, ou seja, o que sei sobre estrangeira é por exemplo, se uso, quando se deleta algo da tabela pai, todos os seus filhos tb serão excluidos juntos... algo como um efeito cascata... mas existe algo a mais sobre chaves ?

    na verdade qual a sua principal finalidade, pq devo usar...e quando usar.

     

     

    Obrigado a todos.

    Friday, June 22, 2007 1:01 PM

Answers

  •  

    Olá Valdir,

     

    A principal finalidades das chaves estrangeiras é manter a integridade de dados, ou seja, permitir que se grave apenas dados consistentes. Por exemplo, numa tabela de Vendas você vai ter o ID do cliente que fez a compra, uma Foreign Key nesse IDCliente serve para que nesta coluna sejam gravados apenas IDs existentes na tabela pai (no caso a Clientes).

     

    Isso que você comentou, sobre a deleção em cascata, é um recurso opcional e não padrão. Quando criamos uma FK, o Update Cascade e Delete Cascade estão desativados por padrão, para evitar a modificação ou exclusão acidental de dados.

     

    Qualquer dúvida que restar, retorne aqui.

     

     

    Abraço

    Friday, June 22, 2007 2:17 PM
  • Olá Valdir,

     

    Vc pode obter mais info sobre FK no Books Online do SQL Server. Lá vc encontra inclusive exemplos gráficos de como funcionam as FK. No BOL procure por "FOREIGN KEY Constraints".

     

    abraços

    Nilton Pinheiro

    www.mcdbabrasil.com.br

     

    PS: Foi útil para vc? Então marque o post como útil!!

    Saturday, June 23, 2007 10:29 PM
    Moderator

All replies

  •  

    Olá Valdir,

     

    A principal finalidades das chaves estrangeiras é manter a integridade de dados, ou seja, permitir que se grave apenas dados consistentes. Por exemplo, numa tabela de Vendas você vai ter o ID do cliente que fez a compra, uma Foreign Key nesse IDCliente serve para que nesta coluna sejam gravados apenas IDs existentes na tabela pai (no caso a Clientes).

     

    Isso que você comentou, sobre a deleção em cascata, é um recurso opcional e não padrão. Quando criamos uma FK, o Update Cascade e Delete Cascade estão desativados por padrão, para evitar a modificação ou exclusão acidental de dados.

     

    Qualquer dúvida que restar, retorne aqui.

     

     

    Abraço

    Friday, June 22, 2007 2:17 PM
  • Olá Valdir,

     

    Vc pode obter mais info sobre FK no Books Online do SQL Server. Lá vc encontra inclusive exemplos gráficos de como funcionam as FK. No BOL procure por "FOREIGN KEY Constraints".

     

    abraços

    Nilton Pinheiro

    www.mcdbabrasil.com.br

     

    PS: Foi útil para vc? Então marque o post como útil!!

    Saturday, June 23, 2007 10:29 PM
    Moderator