Pessoal estou tentando descobrir a melhor forma para modelar um banco para o seguinte problema.
Tenho um banco de dados com as tabelas abaixo, gostaria de saber qual seria a melhor forma de fazer com que os dados pudesse ser recuperados em qualquer situação(gravar, excluir etc…) e como armazenar da melhor forma os dados dos chamados_reabertos e dos chamado_fechados.
Faço uma tabela para os chamados_fechados e outra para os chamados_reabertos ?? tem como utilizar apenas um tabela ??
tb_chamados
numero_chamado
unidade
provedor
status
atendente
numero_serie
numero_fornecedor
data_chamado
tb_chamados_reabertos
numero_chamado
atendente
provedor
fornecedor
data_reabertura
hora_reabertura
status_reabertura
tb_chamados_fechados
numero_chamado
atendente
data_fechado
hora_fechado
Olhando os campos posso lhe recomendar a criação das seguintes tabelas:
chamado
unidade
provedor
atendente
fornecedor
desculpa acho que nao fui claro… na verdade eu quero armazenar apenas os chamados.
[quote=surfzera]Pessoal estou tentando descobrir a melhor forma para modelar um banco para o seguinte problema.
Tenho um banco de dados com as tabelas abaixo, gostaria de saber qual seria a melhor forma de fazer com que os dados pudesse ser recuperados em qualquer situação(gravar, excluir etc…) e como armazenar da melhor forma os dados dos chamados_reabertos e dos chamado_fechados.
Faço uma tabela para os chamados_fechados e outra para os chamados_reabertos ?? tem como utilizar apenas um tabela ??
tb_chamados
numero_chamado
unidade
provedor
status
atendente
numero_serie
numero_fornecedor
data_chamado
tb_chamados_reabertos
numero_chamado
atendente
provedor
fornecedor
data_reabertura
hora_reabertura
status_reabertura
tb_chamados_fechados
numero_chamado
atendente
data_fechado
hora_fechado
[/quote]
Tem como utilizar somente uma tabela, colocando uma coluna “status” na tabela. Assim, você pode padronizar, por exemplo, que o chamado com status 1 se encontra fechado, 2 reaberto, etc.
Oi surfzera,
Se vc seguir a idéia de status em uma única tabela tem que verificar se precisa de uma especie de histórico. Por exemplo:
Abre-se uma chamado hoje, fecha amanhã, reabre depois de amanhã pela manhã e fecha no mesmo dia no inicio da tarde, sendo a ssim vem a pergunta; é necessario saber o histórico (tudo o que aconteceu) deste pedido? Se precisar, acredito que vc tenha que ter uma tabela para os chamados e outra para os status (status, data, hora, motivo e etc…).
flws
sim preciso saber o historio de todos os chamados que foram fechado e tambem dos reabertos…
acho que pode ser assim
CHAMADO(id, numero, status_atual, unidade, provedor, fornecedor)
MOVIMENTACAO(id, id_chamado, atendente, data(dd/mm/yyyy hh:mm), tipo(aberto, fechado, reaberto))
Para cada movimentação atualize o status do chamado, isso vai facilitar suas consultas e melhorar o desempenho.
Obs.: Dependendo da quantidade dos chamados, essa tabela de movimentação deve crescer rapidamente, caso seja um requisito importante o desempenho da sua aplicação o ideal seria uma tabela para cada tipo de chamado. Penso em quantidade acima de 10 milhões de registros.