Professor. Adilsom Marques da Cunha
Projeto Final
Wellingtonn Vergílio
Fortes - Normalizador
Barra do Piraí - RJ, 28 de junho de 2004
1.1 Motivação
É nos o oportuno neste projeto ampliar a
nossa experiência relativa à praticidade das técnicas demonstrada em sala,
assim aumentando a nossa visão em um arcabouço de um Projeto de Banco de Dados.
1.2 Objetivo
Tem como finalidade este projeto
implementar um Projeto de Banco de Dados para a Empresa HALCS. Está empresa
atua no ramo rodoviário e necessita de um sistema computadorizado para sua
gestão.
2.
Conteúdo
2.1
Protótipo de Banco de Dados
2.1.1
Contextualização
A HALCS é uma empresa que trabalha com gestão de Transporte Rodoviário e tem como objetivo melhorar e qualificar o seu método administrativo.
Baseando se nesta necessidade foi feita uma analise do seu funcionamento e constatamos que devido ao grande fluxo de dados que a empresa HALCS gera ao gerir seus processos faz-se necessário desenvolver um sistema para controlar, qualificar as informações, assim facilitando os seus executivos a tomarem decisões.
Este sistema tem em vista atuar nas áreas
de Apoio a Logística de Carga voltado, com o objetivo de aumentar a qualidade
destes processos, assim tornando a empresa mais competitiva.
Neste trabalho atingiremos apenas o
gerenciamento de Manutenção da Frota.
2.1.2 Definição
do Problema
1.
Efeitos Adversos
·
Não se sabe
as oficinas autorizadas e que fora acionadas .
·
Não se tem
o histórico do veiculo em relação a manutenção.
·
Não tem
controle do dos tipos de serviços prestados.
·
É
impossível fazer uma manutenção preventiva, pois não a controle das peças e sua
utilização.
·
Não se
controle o orçamento das oficinas, ou seja, não é feita comparação de preços.
·
Não há como
verificar a relação Benefício/Custo de um veículo em relação manutenção/serviço
prestado.
2.
Causas
·
As informações
sobre manutenção são descarta (não há registro).
·
Não são
cadastradas as oficinas que são acionadas.
·
Não
registro de peças.
·
Desinteressaram-se
em checar a concorrência dos orçamentos.
·
Hoje o
setor não tem uma visão administrativa.
3.
Tarefa
Adotar técnicas
administrativas e um sistema computadorizado para gerenciar as informações.
Também faz se necessário dar treinamento aos funcionários para se criar uma
cultura administrativa, até junho de 2004.
4. Propósito
Visa-se aumentar
a visão operacional da Gestão da manutenção e aumentar a qualidade dos
processos. E diminuir o custo com manutenção.
2.1.3
Enunciado do Problema
Dotar o a Empresa
na área de Apoio a Logística de Carga um sistema computadorizado para controle
de gasto de frota e assim possibilitando ao executivo analisar o seu custo
operacional.
Também será
necessário dar treinamento aos funcionários responsáveis pela gestão de frota
em relação ao novo processo de controle.
2.1.4
Enunciado da Solução Escolhida
Desenvolver
processos de armazenamento, recuperação e tratamento de informação visando
aumentar o controle de gasto do setor de gestão de frota.
Este processo
será automatizado através de um sistema computadorizado.
Tendo vista
melhorar a gerência da manutenção dos
Veiculos.
2.1.4 Redução
de Escopo
Apesar do enunciado da solução escolhida
trazer como solução implantar um sistema computadorizado este projeto apenas
atacará a parte de Banco de dados especifica para gestão de manutenção. Não serão atribuídas a este projeto as áreas
de comunicação, geração de código, hardwares, documentware, firmware.
2.1.5 Definição
do Título
“SIStema
de Manutenção
– SIS-MANUT “
2.1.6 Especificação
de Requisitos
O Banco de Dados SIS-MANUT deverá ser capaz
de:
1. Propiciar um maior controle na gestão dos veiculos;
2. Controlar as listas de matérias que são usados;
3. Melhorar o sistema de orçamentos da Empresa, assim visando obter o melhor preço;
4. Controlar a freqüência na qual o veiculo sofre a manutenção;
5. Tem que informar os tipo de serviços prestados;
Nesta parte será demonstrado a produção do Banco de Dados Setorial SYS-MANUT e as integrações em vários níveis e a integração do banco das empresas ALC e ALS na empresa Holding HALCS. Este banco de dados foi desenvolvido no SGBD Interbase. Foram aplicadas técnicas de modelagem de dados e testada pelo software third.
- Banco de dados
No desenvolvimento do Aplicativo de Banco de Dados foi utilizado o Modelo de Dados Relacional uma vez que ele representa melhor a estrutura do processo na qual será armazenado no banco.
Os Modelo de entidade e Relacionamento e o dicionário estão no anexo –1 Listex 04.
O aplicativo
SIS-MANUT foi normalizado, obedecendo-se às Formas Normais. A evolução da
normalização desde a 1FN até a 3FN é mostrada abaixo e as Consultas
(Queries) logo após:
0FN
Inicialmente o banco foi apresentado com a seguinte
estrutura.
SIS-MANUT {Oficinas, Veículos, Manutencao, Servicos, Cotacao}
1FN
Ao
aplicando a 1ª Forma Normal estaremos deixando todos os atributos atômicos.
SIS-MANUT {codofic,nome,endereco,bairro,cidade,uf,tel, codveiculo, placa, ano,modelo,codmanut,dataentrada,datasaida,material,codservicos,descricao, valor,codcotacao,data,aprovacao}
2FN
Requer que todos os atributos não chave devem conter informações, que se referem à chave inteira, e não somente à parte do registro.
oficina { codofic,nome,endereco,bairro,cidade,uf,tel}
veículo {codveiculo, placa, ano,modelo}
manutencao { codmanut,dataentrada,datasaida,material}
servico {codservicos,descricao, valor}
cotacao { codcotacao,data,aprovacao}
3FN
Refere-se ao agrupamento de Relações
requeridas na 2FN, com cada atributo não chave referindo-se diretamente a chave.
oficina { codofic,nome, endereco,bairro,cidade,uf,tel}
veículo {codveiculo, placa, ano,modelo}
manutencao { codmanut,dataentrada,datasaida }
MATERIAL {codmaterial,descrição,quantidade,valorunit}
servico {codservicos,descricao, valor}
cotacao { codcotacao,data,aprovacao}
oficina { ofi_codofic, ofi_nome, ofi_endereco, ofi_bairro, ofi_cidade, ofi_uf, ofi_tel}
veículo {vei_codveiculo, vei_placa, vei_ano, vei_modelo}
manutencao {
man_codmanut, man_dataentrada, man_datasaida }
MATERIAL {mat_codmaterial, mat_descrição, mat_quantidade, mat_valorunit}
servico {ser_codservicos, ser_descricao, ser_valor}
cotacao { cot_codcotacao, cot_data, cot_aprovacao}
OCORRENCIA {oco_cod, man_codmanut, vei_codveiculo}
TEM{ tem_cod, man_codmanut, ser_codservico}
VINCULO{ vin_cod , mat_codmaterial, ser_codservico}
PRESTA { pre_cod , man_codmanut, ofi_codofic}
Neste nível foi feita uma junção dos bancos de dados individuais e crio-se o banco de dado setorial GFR – Gestão de Frota. Esta junção foi executada por componentes atuantes em três áreas. Normalizador, Dicionarizador e Integrador.
O banco de dados GFR, que é
derivado da unificação dos bancos SYS-MANUT, SYS-CFR e SYS-EF.
A contextualização e o
código do banco estão localizados na página:
http://sergiopbarros.sites.uol.com.br/ce_240/listex_05/listex_05_n1.htm
O Dicionário de Dados do Banco está na página: http://geocities.yahoo.com.br/jfbrancalion/ListaExercicios5Banco.htm
O MER e a renormalização deste banco se encontra:
http://www.geocities.com/engdecomp/listex5240.htm
E
depois foi criado o banco de dados
DELTA, que se formou com a unificação dos banco de dados setoriais: GRE, GFR, GMI e GAP.
Toda a documentação do banco (contextualização, dicionarização, MER e código SQL do banco) estão localizadas no link: http://geocities.yahoo.com.br/izilton_ferraiolo/listex5normalizacao2.html
Neste nível foi criado o banco da empresa ALC, formou-se com a união dos bancos DELTA e CHARLIE.
Integrando os Protótipos de Aplicativo de Banco de Dados da Gestão de Apoio, Frotas, Missões e Recursos (SIS-GAFMR) e do Setor Administrativo, Armazenagem e Financeiro (SIS-ADAFI).
Toda a documentação do banco
(contextualização, dicionarização, MER e código SQL do banco) estão localizadas
no link:
http://geocities.yahoo.com.br/halcs2004/alc_contextualizacao.html
O Dicionário de Dados do Banco está na página:
http://geocities.yahoo.com.br/halcs2004/alc_dicionarizacao.html
O MER e a renormalização deste banco se encontra:
http://geocities.yahoo.com.br/halcs2004/alc_normalizacao.html
O
Nível 0 é composto pelo banco de dados SYS-MANUT.]
O
Nível 1 é composto pelo banco de dados GFR, que é derivado da unificação dos
bancos SYS-MANUT, SYS-CFR e SYS-EF.
O
Nível 2 é composto pelo banco de dados DELTA, que é derivado da unificação dos
bancos GRE, GFR, GMI e GAP.
O
Nível 3 é composto pelo banco de dados ALC, que é derivado da unificação dos
bancos DELTA e CHARLIE.
O
Nível 4 é a união da Holding HALCS, que é derivado da unificação das empresas
ALC e ALS.
·
Consulta 1 Nivel 0
Linguagem Natural
- Mostras o nome e telefone das oficinas do estado do Rio de Janeiro
SQL :
select ofi_nome,ofi_tel from oficina where ofi_uf='RJ'
·
Consulta 2 Nivel 0
Linguagem Natural
- Mostrar as proposta ou cotação de manutenção que não foram aprovadas
SQL
select cotacao.cot_codcotacao,manutencao.man_codmanut
from manutencao,cotacao where manutencao.man_codmanut=cotacao.man_codmanut and cotacao.cot_aprovacao='NAO'
· Consulta 3 Nivel 0
Linguagem Natural
- Mostrar as datas no qual o veiculo especificado sofreu manutenção
SQL
select veiculo.vei_placa,manutencao.man_dataentrada, manutencao.man_datasaida from manutencao,ocorrencia, veiculo where veiculo.vei_placa='MND4567' and manutencao.man_codmanut=ocorrencia.man_codmanut and ocorrencia.vei_codveiculo=veiculo.vei_codveiculo
Consulta 4 Nivel 1
- Linguagem Natural
Seleciona o veiculo que sofreu a manutenção e a taxa gasta pelo veiculo. Assim comprova a integração do banco SYS-MANUT com o banco SYS-CFR. Os dois bancos foram integrados ao banco GFR.
- SQL
select veiculo.vei_placa,manutencao.man_dataentrada,
manutencao.man_datasaida,taxa.tax_valor,taxa.tax_data
from manutencao,ocorrencia, veiculo,taxa
where veiculo.vei_placa='kmk7370'
and manutencao.man_num=ocorrencia.man_num and
ocorrencia.vei_num=veiculo.vei_num and veiculo.vei_num=taxa.vei_num
Consulta 5 Nivel 1
- Linguagem Natural
Seleciona o gasto com o veiculo, no
percurso feito para entrega de um frete. Para efetuar esta consulta foi
necessário a integração dos bancos SYS-MANUT, SYS-CFR, SYSEF. Os três bancos foram integrados ao
banco GFR.
- SQL
select
frete.frt_num,frete.frt_gastos,veiculo.vei_placa,manutencao.man_dataentrada,
manutencao.man_datasaida,taxa.tax_valor,taxa.tax_data
from manutencao,ocorrencia, veiculo,taxa,
alocacao,frete where
veiculo.vei_placa='kmk7370'
and manutencao.man_num=ocorrencia.man_num and
ocorrencia.vei_num=veiculo.vei_num
and veiculo.vei_num=taxa.vei_num and
frete.frt_num=alocacao.frt_num
and
veiculo.vei_num=alocacao.vei_num
Consulta 6 Nivel 2
- Linguagem Natural
Esta consulta mostra o problema
ocorridos com determinado veiculo em determinada viagem e qual o serviço
prestado para solucionar o problema. A consulta foi gerada no nível 2, em cima
do banco DELTA.
- SQL
select viagem.vag_id,
servico.sem_descricao,manutencao.man_dthr_ent,
manutencao.man_dthr_saida,servico_est.ser_desc,
veiculo.vei_placa,veiculo.vei_modelo
from servico,manutencao, servico_est, veiculo,viagem
where servico.man_id=manutencao.man_id
and
servico_est.ser_id=manutencao.ser_id
and
servico_est.vei_id=veiculo.vei_id
and
viagem.vag_id=servico_est.vag_id
Consulta 7 Nivel 3
- Linguagem Natural
Qual a viagem e a ordem de serviço no qual o veiculo sofreu manutenção. Este caso é usado para responsábilizar o cliente pela quebra do veiculo.
- SQL
select viagem.vag_id,
servico.sem_descricao,manutencao.man_dthr_ent,
manutencao.man_dthr_saida,servico_est.ser_desc,
veiculo.vei_placa,veiculo.vei_modelo,OSE_ID,PAR_ID,PCI_ID
from
servico,manutencao, servico_est, veiculo,viagem,entrega,carga,ordem_servico
where servico.man_id=manutencao.man_id
and servico_est.com_id=manutencao.ser_id
and servico_est.vei_id=veiculo.vei_id
and viagem.vag_id=servico_est.vag_id
and viagem.vag_id=entrega.ent_id
and entrega.car_id=carga.car_id
and ordem_servico.ose_id=carga.ose_id
Consulta 8 Nivel 3
- Linguagem Natural
Qual o produto transportado no qual o veiculo sofreu manutenção em viagem, e o valor dele? Esta consulta é importante ser efeutada quando o produto é perecível e o veiculo precisa de manutenção.
-SQL
select viagem.vag_id,
servico.sem_descricao,manutencao.man_dthr_ent,
manutencao.man_dthr_saida,servico_est.ser_desc,
veiculo.vei_placa,veiculo.vei_modelo,OSE_ID,PAR_ID,PCI_ID,pedido_cliente_item.pci_preco,pedido_cliente_item.PCI_GASTOSINDIRETOS,
produto.pro_descricao
from servico,manutencao,
servico_est, veiculo,viagem,entrega,carga,ordem_servico,
produto,pedido_cliente_item
where
servico.man_id=manutencao.man_id
and servico_est.com_id=manutencao.ser_id
and servico_est.vei_id=veiculo.vei_id
and viagem.vag_id=servico_est.vag_id
and viagem.vag_id=entrega.ent_id
and entrega.car_id=carga.car_id
and ordem_servico.ose_id=carga.ose_id
and carga.pro_id=produto.pro_id
and
pedido_cliente_item.pro_id = produto
III - Simulação de
Jogos de Empresa –Banco de Dados Holding (SIS-HALCS –
Holding de Apoio à Logística de Cargas e Serviços)
Devido a proposta em questão que prevê a elaboração imediata de um
Anteprojeto de Banco de Dados para a Empresa Holding HALCS. Foi se preparada
uma equipe de especialistas em determinadas áreas para o desenvolvimento do
projeto. A equipe consiste em especialista em: Dicionarização, Normalizadores,
Integradores e Suporte.
1.
(Re-contextualização;
a Re-objetivação (redefinição do Problema e da Alternativa de Solução Escolhida
para o seu Setor, a Re-intitulação do Setor). Esta artefato foi desenvolvido pela equipe de
Integradores
Heurística do
Objetivo : Link do artefato
desenvolvido
http://geocities.yahoo.com.br/halcs2004/halc_contextualizacao.html
2. O processo de integração e a conseqüente re-normalização gerando o MER, e os teste feito no aplicativo Third foram realizados pela equipe de normalizadores:
Link do artefato desenvolvido
http://geocities.yahoo.com.br/halcs2004/halc_normalizacao.html
3. O processo de integração e a conseqüente re-dicionarização foram realizados pela equipes de Dicionalizadores:
Link do artefato desenvolvido
http://geocities.yahoo.com.br/halcs2004/halc_dicionarizacao.html
STORE PROCEDURED
Esta Stored Procedure atualiza a tabela cotacao_manut com código do material
quando o orçamento é aprovado “EXECUTE PROCEDURE ATUA_COTACAO_MANUT
MATERIAL.MTR_ID);.

SET TERM
!!;
CREATE
PROCEDURE ATUA_COTACAO_MANUT
(COT_id
integer)as
BEGIN
UPDATE COTACAO_MANUT
SET COTACAO_MANUT.mat_ID = :COT_id
WHERE COTACAO_MANUT.COT_APROVACAO = 'SIM';
END !!
VIEW
Relação
Gasto/ Manutenção

/* View: TRANSPORTE_MANUTENCA, Owner: SYSDBA */
CREATE VIEW
TRANSPORTE_MANUTENCA (
PRODUTO,
GASTO,
PEDIDO,
VALOR,
MANUTENCAODATA,
SERVICO,
VEICULO
) AS
select
produto.pro_descricao,pedido_cliente_item.PCI_GASTOSINDIRETOS,pedido_cliente_item.pci_preco,
servico.sem_descricao,manutencao.man_dthr_ent, servico_est.ser_desc,
veiculo.vei_placa
from
servico,manutencao, servico_est, veiculo,viagem,entrega,carga,ordem_servico,
produto,pedido_cliente_item
where
servico.man_id=manutencao.man_id
and servico_est.com_id=manutencao.ser_id
and servico_est.vei_id=veiculo.vei_id
and viagem.vag_id=servico_est.vag_id
and viagem.vag_id=entrega.ent_id
and entrega.car_id=carga.car_id
and ordem_servico.ose_id=carga.ose_id
and carga.pro_id=produto.pro_id
and
pedido_cliente_item.pro_id = produto.pro_id
;
TRIGGER
Caso apague um registro da tabela manutenção, cria-se um registro temporário na tabela del_manutenção.

CREATE TABLE DEL_MANUTENCAO
(
DEL_MAN_ID INTEGER NOT NULL,
DEL_MAN_DTHR_ENT TIMESTAMP,
DEL_MAN_DTHR_SAIDA TIMESTAMP,
DEL_SER_ID INTEGER NOT NULL
);
SET TERM !!;
create
trigger DELETADOS_MANUTENCAO for MANUTENCAO
after delete as
begin
insert
into DEL_MANUTENCAO values (MANUTENCAO.MAN_ID, MANUTENCAO.MAN_DTHR_ENT,
MANUTENCAO.MAN_DTHR_SAIDA, MANUTENCAO.SER_ID);
end !!
SET
TERM; !!
CONSULTA 9 NIVEL 4
Uma
Consulta típica do Nível de Decisão Operacional:
Linguagem
natural: Qual a missão os veículos sofre mais quebras.

-SQL
select missao.mis_id, comunicacao.com_tipo, servico_est.ser_nome,
servico_est.ser_desc,MANUTENCAO.man_dthr_ent
from missao,comunicacao,servico_est,MANUTENCAO
where
missao.mis_id=comunicacao.mis_id
and
comunicacao.com_id=servico_est.com_id and
MANUTENCAO.ser_id=servico_est.ser_id
CONSULTA
10 NIVEL 4
Uma Consulta típica do Nível de Decisão Tático: Quais
os modelo de veículos que tem maior durabilidade? Ou manutenção mais
prolongada?

select VEICULO.vec_id,VEICULO.vec_modelo,VEICULO.vec_placa,
servico_est.ser_desc,manutencao.MAN_DTHR_ENT,
manutencao.MAN_DTHR_SAIDA
from veiculo,manutencao,servico_est
where
VEICULO.vec_id=servico_est.vec_id
and
servico_est.ser_id=manutencao.ser_id
CONSULTA
11 NIVEL 4
Uma
Consulta típica do Nível de Decisão Estratégico :
Qual o valor gasto para o transporte e o valor pago pelo
cliente.

select cliente.cli_nome,pedido_cliente.pcl_data,
pedido_cliente_item.pci_preco,carga.car_valor
from cliente,pedido_cliente,pedido_cliente_item,carga
where cliente.cli_id= pedido_cliente.cli_id and
pedido_cliente.pcl_id=pedido_cliente_item.pcl_id and
pedido_cliente_item.pcl_id=carga.pcl_id
Resultado
Esperado
É se esperado inicialmente a criação de um protótipo na turma, assim dando um visão do funcionamento do banco da HALCS e direcionando o caminho do desenvolvimento do banco. Este protótipo será desenvolvido em softwares gratuítos assim não onerando custo. O SGDB utilizado será o interbase 6.0.
Previsão de comclusão será datada para 28/06/2004.
Com isso os alunos acresentaram em seu domínio de conhecimento, a formulação de um projeto de banco de dados e a experiência em trabalho em equipe quando necessário nas integrações.
Resultado
Obtido
Espera-se um grande acrescimo como profissional, como pessoa e intelectual para os alunos da matéria CE-240 e CES-30. E agregar mais experiência para a vida cotidiana de um profissional, ensinando-o a trabalhar em equipe, mas mais importante ensinado a trabalha em uma equipe vitoriosa e que consegue atingir um objetivo multuo.
IV – CONCLUSÃO
Deste o ingresso, ao programa de Pós-Gradução do ITA, venho cada vez mais ampliando minha capacidade de profissional, e o mais importante me acrescentando como pessoa. Cursei as Matérias CE-230 e CE-240, e nunca pensei que além de conhecimento estas matéria melhoraria o meu modo de viver.
Utilize deste material uma orientação para desenvolvimento de Projetos.