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

Meu primeiro banco (bd_helpdesk)


Silvio Sampaio

Pergunta

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 para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 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...