Jump to content
Fórum Script Brasil
  • 0

Meu primeiro banco (bd_helpdesk)


Silvio Sampaio

Question

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

  • 0

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.

Link to comment
Share on other sites

  • 0
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;

http://facebook.com/sampaiosp

MSN: sampaiosp@hotmail.com

Link to comment
Share on other sites

  • 0

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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...