Ir para conteúdo
Fórum Script Brasil
  • 0

Chave estrangeira - bd_controle_de_equipamentos


Silvio Sampaio

Pergunta

Amigos,

Ainda preciso de ajuda.

Mas agora com um pouco mais de domínio da ferramenta e conhecendo o básico do Mysql

Já consigo realizar meus select's, inserção de dados nas tabelas, alerações de caracteristicas etc

Entretanto minha grande dificuldade agora é com CHAVE ESTRANGEIRA, pois é, pode parecer repetitivo mas sem um exemplo prático eu não conseguirei entender

Pois já vi vários videos no youtube, li orientações e ainda não consegui assimilar a lógica desta utilização.

Segue meu exemplo prático (confesso que bastante incomum)

tb_emprestimo

id Colaborador Patrimônio Descrição Emprestimo Setor

1 Jovem Aprendiz 68143 Reunião no auditório 29/5/2012 15:20:28 Administração

2 Adriana Silva Santos 80404 Eventos externos 29/5/2012 16:00:46 Secretaria Escolar

3 Clovis Campagnolo 68142 Aulas N I 1/6/2012 10:02:55 Educação Integral

tb_entrega

id Colaborador Patrimônio Devolução Devolvido

1 Jovem Aprendiz 68142 29/5/2012 16:19:10 Não

2 Adriana Silva Santos 80404 30/5/2012 10:43:03 Não

3 Clovis Campagnolo 68142 1/6/2012 11:00:53 Não

Como todos são bem sábios aqui creio ficou claro o interesse

A idéia é que toda vez que alterar algum "Colaborador" ou "Patrimônio" da tabela EMPRESTIMO essa atualização ocorra nos mesmos campos da tabela ENTREGA.

Para isso no PHPMYADMIN na tabela ENTREGA usei a seguinte opção:

FOREIGN KEY INNODB tb_emprestimo.id on delete on cascate

No fim das contas eu relacionei os campos IDs das duas tabelas, mas no ACCESS isso não tem funcionado na prática

Quem me dá uma dica?

RS: http://facebook.com/sampaiosp

MSN: sampaiosp@hotmail.com

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Silvio,

Uma das vantagens do relacionamento entre tabelas é a não repetição dos dados. Nesse seu caso, não precisaria ter os dados de colaborador e patrimonio na tabela tb_entrega. Basta apenas um campo de nome 'id_emprestimo' (só exemplo de nome) para relacionar com a 1a tabela tb_emprestimo.

Dessa forma, a tabela tb_entrega ficaria assim:

id

id_emprestimo tipo int

devolucao

devolvido

no id_emprestimo você poe o codigo do registro da tabela emprestimo, para relacionar as tabelas...

exemplo do seu caso:

tb_entrega

id Colaborador Patrimônio Devolução Devolvido

1 Jovem Aprendiz 68142 29/5/2012 16:19:10 Não

2 Adriana Silva Santos 80404 30/5/2012 10:43:03 Não

3 Clovis Campagnolo 68142 1/6/2012 11:00:53 Não

ficaria assim:

tb_entrega

id id_emprestimo Devolução Devolvido

1 1 29/5/2012 16:19:10 Não

2 2 30/5/2012 10:43:03 Não

3 3 1/6/2012 11:00:53 Não

para fazer uma consulta na tabela tb_entrega você faz assim por exemplo:

select distinct t.colaborador , t.patrimonio, t.descricao , e.devolucao, e.devolvido from tb_emprestimo t, tb_entrega e where t.id=e.id_emprestimo order by t.colaborador

a parte "where t.id=e.id_emprestimo" faz a relação entre os id's das duas tabelas.

Dessa forma você muda os dados da tabela tb_emprestimo e não precisa mexer na tabela tb_entrega.

Link para o comentário
Compartilhar em outros sites

  • 0

Sandro,

Realmente você tem toda razão, não havia pensado dessa forma

Nâo tenho porque ter o dado repetido já que o que eu realmente quero é o vinculo da informação

Agora o único detalhe é que essas informações são tratadas no Access e por pessoas diferentes

Por isso eu repeti os campos achando que ajudaria

Vou fazer as mudanças e depois retorno aqui pra dizer como ficou

Muito obrigado pelas orientações

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...