Silvio Sampaio
-
Total de itens
5 -
Registro em
-
Última visita
Posts postados por Silvio Sampaio
-
-
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
-
Amigos,
Ainda preciso de ajuda.
Mas agora com um pouco mais de domínio da ferramenta e conhecendo o básico 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?
-
Amigo,
bom dia.
não sei se entendi direito sua pergunta,
Vejamos,
você quer criar uma view onde apenas os produtos ativos (Status='Ativo')
e que já foram devolvidos apareçam (dt_fim > data_atual)
Você pode ciar um join entre as tabelas e colocar estas condiçoes
Segue exemplo:
Select
equip.id,
equip.descricao
from tb_equipamentos equip
inner join tb_registro reg
on equip.id = reg.id
and status = 'ativo'
and dt_fim > now()
creio que isso resolva sua view mostrar apenas produtos ativos e já entregues.
Caio,
Obrigado pela sua resposta.
Fiz algumas mudanças na estrutura do banco, pois não entendo bem os comandos e clausulas no mysql.
Irei testar o exemplo que me passou e volto a responder.
Grato pelo apoio.
Se eu puder ajudar em alguma dúvida, segue meus contatos;
MSN: sampaiosp@hotmail.com
-
Pessoal, meu primeiro post espero contar com ajuda e compreensão de amigos aqui.
Obs. Não sei nada de programação, quero só aprender pelo prazer do conhecimento e dar boa utilidade deste tipo de conteúdo.
Só que eu fui aprendendo, fazendo e agora vem vindo as dificuldades...
Foi dificil mas instalei Apache + Mysql + PHPMyAdmin, faço uso do MySQL Administrator e Query Browser
Estruturei o banco da seguinte forma:
bd_helpdesk
view_equip_ativos
view_colaboradores_ativos
tb_equipamentos >> (Serve para cadastrar os equipamentos)
Campos da tabela:
id,
Patrimônio,(Nº. de série)
Descrição, (texto qualquer)
Categoria (Notebook, Netbook, Desktop)
Status (Ativo ou Inativo)
tb_registro >> (Serve para realizar o controle de retirada e entrega dos equipamentos
Campos da tabela:
id,
Colaborador (view_colaboradores_ativos )
Patrimônio (view_equipamentos_ativos)
Descrição, (texto qualquer)
Dt_Inicial (Formato, Date dd/mm/aaaa)
Hr_Inicial (Formato, Time 00:00:00)
Dt_Final (Formato, Date dd/mm/aaaa)
Hr_Final (Formato, Time 00:00:00)
Agora o problema...
No Campo, (Patrimônio) da tabela tb_registro não deve ser possível visualizar um equipamento que ainda não foi devolvido.
Ou seja, acho que deveria mudar essa minha view
De: "view_equip_ativos"
Para: "view_equip_ativos_emprestados"
Com uma WHERE dizendo que a consulta deve respeitar a condição de:
`tb_equipamentos` com `Status`='Ativo'
e que também respeitasse o argumento de uma cláusula de "devolução" da própria tb_registro
Acho que ficou muito confuso e tb não sei que comando usar.
Como posso estruturar melhor esse banco?
Por favor dêem sugestões...
Chave estrangeira - bd_controle_de_equipamentos
em MySQL
Postado
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