Silvio Sampaio Posted May 17, 2012 Report Share Posted May 17, 2012 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 BrowserEstruturei o banco da seguinte forma:bd_helpdeskview_equip_ativosview_colaboradores_ativostb_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 equipamentosCampos 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 viewDe: "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... Quote Link to comment Share on other sites More sharing options...
0 CAIO.EXE Posted May 22, 2012 Report Share Posted May 22, 2012 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çoesSegue exemplo:Select equip.id,equip.descricaofrom tb_equipamentos equipinner join tb_registro regon equip.id = reg.idand status = 'ativo'and dt_fim > now()creio que isso resolva sua view mostrar apenas produtos ativos e já entregues. Quote Link to comment Share on other sites More sharing options...
0 Silvio Sampaio Posted May 23, 2012 Author Report Share Posted May 23, 2012 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çoesSegue exemplo:Select equip.id,equip.descricaofrom tb_equipamentos equipinner join tb_registro regon equip.id = reg.idand 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;http://facebook.com/sampaiospMSN: sampaiosp@hotmail.com Quote Link to comment Share on other sites More sharing options...
0 Silvio Sampaio Posted June 1, 2012 Author Report Share Posted June 1, 2012 Amigos, Ainda preciso de ajuda.Mas agora com um pouco mais de domínio da ferramenta e conhecendo o básico MysqlJá consigo realizar meus select's, inserção de dados nas tabelas, alerações de caracteristicas etcEntretanto minha grande dificuldade agora é com CHAVE ESTRANGEIRA, pois é, pode parecer repetitivo mas sem um exemplo prático eu não conseguirei entenderPois 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_emprestimoid Colaborador Patrimônio Descrição Emprestimo Setor1 Jovem Aprendiz 68143 Reunião no auditório 29/5/2012 15:20:28 Administração2 Adriana Silva Santos 80404 Eventos externos 29/5/2012 16:00:46 Secretaria Escolar3 Clovis Campagnolo 68142 Aulas N I 1/6/2012 10:02:55 Educação Integraltb_entregaid Colaborador Patrimônio Devolução Devolvido1 Jovem Aprendiz 68142 29/5/2012 16:19:10 Não2 Adriana Silva Santos 80404 30/5/2012 10:43:03 Não3 Clovis Campagnolo 68142 1/6/2012 11:00:53 NãoComo todos são bem sábios aqui creio ficou claro o interesseA 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 cascateNo fim das contas eu relacionei os campos IDs das duas tabelas, mas no ACCESS isso não tem funcionado na práticaQuem me dá uma dica? Quote Link to comment Share on other sites More sharing options...
Question
Silvio Sampaio
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...
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.