Instituto Tecnológico de Aeronáutica

Divisão da Ciência da Computação

Curso de Pós-Graduação

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CE-240 Projeto de Banco de Dados

 

 

 

 

Professor. Adilsom Marques da Cunha

 

 

Listex 05

 

 

 

 

 

 

 

 

 

 

SIS-MANUT      Wellingtonn Vergílio Fortes - Normalizador

SIS-CFR            JOSÉ FERNANDO Basso Brancalion – Dicionalizador

http://geocities.yahoo.com.br/jfbrancalion/ListaExercicios5Banco.htm

SISEF                SÉRGIO Luiz Pires de Barros – Integrador

http://sergiopbarros.sites.uol.com.br/ce_240/listex_05/listex_05_n1.htm

 

 

 

 

 

 

 

 

Barra do Piraí, 30 de maio de 2004

Atualização, 06 junho de 2004

 

 

 

 

 

1         Introdução

1.1        Título

Integração 1º e 2º nível do “Sistema de Gestão de Frota de Apoio à Logística de Cargas - SIS-GFR”.

 

1.2        Motivação

            Melhorar a experiência em desenvolvimento de Banco de Dados e desenvolvimento de projeto em grupo.

1.3        Objetivo

            Integrar os bancos do grupo CFR no 1º nivel e no 2º o Banco DELTA. E assim preparando o Modelo de Entidade e Relacionamento para os outros integrantes da equipe dicionarizar e integrar os bancos.

1.4        Conteúdo

            Será mostrado os procedimento da integração.

 

 

2           Desenvolvimento

 

Inicialmente o banco de dados Gestão de Frota foi  divididos em 3 partes para facilitar a sua produção e agilizar os processos:  SYS-MANUT, SIS-FRO, SIS-CFR.

            Nesta fase será feita a 1º interação entre estes sub bancos, para se cria o banco GFR (Gestão de Frotas).

            Para efetuarmos a 1º interação serão aplicados os seguintes processos:

 

 

 

 

 

 

 

 

Estrutura Atual dos Bancos

 

 

 

SIS-CFR

 

VEICULO { vei_num_veiculo, vei_placa, vei_ano, vei_modelo}

 

CUSTO_KM { vei_num_veiculo, cus_custo_km, cus_ponto_partida, cus_ponto_chegada, cus_distancia, cus_gastos}

 

LEASING{ vei_num_veiculo, lea_num_leasing, lea_descrição, lea_quantidadeparcelas, lea_valor}

 

LEASING_PARCELA{ lea_num_leasing, lep_leasing_parcela, lep_data_vencimento, lep_data_pagamento}

 

TAXA{ vei_num_veiculo, tax_num_taxa, tax_descrição, tax_valor, tax_data_pagamento}

 

MATERIAL_CONSUMO{ vei_num_veiculo, mat_num_material_consumo, mat_descrição, mat_valor , mat_data }

 

 

 

 

SIS-FRO

 

ALOCACAO { vei_num, frt_num, mot_num }

 

HIST_VEI {vei_num, vei_placa, vei_modelo, vei_fabricante, vei_ano_fab, vei_data_compra, vei_preco_compra}

 

FRETE {frt_num, frt_destino, frt_data_partida, frt_data_chegada}

 

MOTORISTA {mot_num, mot_nome, mot_carteira, mot_dn, mot_end, mot_telefone, mot_sal}

 

SEGURANÇA {vei_num, seg_extintor, seg_ult_troca_pneus, seg_ult_troca_oleo}

 

FROTA_TER { vei_num, ter_frota, ter_transp}

 

 

 

 

 

 

 

 

 

SYS-MANUT

 

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}

 

 

 

Adaptando o banco para 1º Integração

 

 

* SIS-CFR VEICULO { vei_num_veiculo, vei_placa, vei_ano, vei_modelo}

 

* SIS-FRO  HIST_VEI {vei_num, vei_placa, vei_modelo, vei_fabricante, vei_ano_fab, vei_data_compra, vei_preco_compra}

 

* SYS-MANUT  veículo {vei_codveiculo, vei_placa, vei_ano, vei_modelo}

 

Integração

 

- Foi feito a junção das tabelas a cima, procurando manter os atributos necessários das das tabelas.

 

VEICULO {vei_num, vei_placa, vei_modelo, vei_fabricante, vei_ano_fab, vei_data_compra, vei_preco_compra}

 

 

______________________________________________________________________

 

 

* SIS-CFR  CUSTO_KM { vei_num_veiculo, cus_custo_km, cus_ponto_partida, cus_ponto_chegada, cus_distancia, cus_gastos}

 

* SIS-FRO    FRETE {frt_num, frt_destino, frt_data_partida, frt_data_chegada}

 

 

Integração

 

- Foi feito a junção das tabelas a cima, procurando manter os atributos necessários das das tabelas. A trigramação tambem foi alterada para utilizar as 3 primeiras letra da tabela.

 

FRETE { fre_num, fre_ponto_partida, fre_ponto_chegada, fre_distancia, fre_gastos, fre_data_partida, fre_data_chegada}

 

 

______________________________________________________________________

 

SIS-CFR MATERIAL_CONSUMO{ vei_num_veiculo, mat_num_material_consumo, mat_descrição, mat_valor , mat_data }

 

SYS-MANUT MATERIAL {mat_codmaterial, mat_descrição, mat_quantidade, mat_valorunit}

 

 

Integração

 

 - Foi feito a junção das tabelas a cima, procurando manter os atributos necessários das entidades. Nesta entidade foram  acrescentado 2 atributos a mais (mat_data_ entrada, mat_data_ saída)

 

MATERIAL {mat_codmaterial, mat_descrição, mat_quantidade, mat_valorunit,  mat_data_ entrada, mat_data_ saída }

 

______________________________________________________________________

 

 

 

SIS-FRO  SEGURANÇA {vei_num, seg_extintor, seg_ult_troca_pneus, seg_ult_troca_oleo}

 

 

Integração

 

- Com a integração esta tabela se tornou desnecessária pois sua função é sanada pela tabela MATERIAL

 

 

______________________________________________________________________

 

Integração

 

 

- Foram mantidas apenas os atributos necessários das das tabelas

 

 

SIS-CFR LEASING{ vei_num_veiculo, lea_num_leasing, lea_descrição, lea_quantidadeparcelas, lea_valor}

 

- Foi alterada a chave estrangeira  vei_num_veiculo  para vei_num

 

SIS-CFR LEASING{ lea_num_leasing, vei_num, lea_descrição, lea_valor}

 

__________________________________________________________________

 

SIS-CFR LEASING_PARCELA{ lep_leasing_parcela, lea_num_leasing,  lep_data_vencimento, lep_data_pagamento}

 

__________________________________________________________________

 

 

SIS-CFR TAXA{ vei_num_veiculo, tax_num_taxa, tax_descrição, tax_valor, tax_data_pagamento}

 

- Foi alterada a chave estrangeira  vei_num_veiculo  para vei_num

 

SIS-CFR TAXA{ tax_num_taxa, vei_num, tax_descrição, tax_valor, tax_data_pagamento}

 

__________________________________________________________________

 

 

 

 

SIS-FRO MOTORISTA {mot_num, mot_nome, mot_carteira, mot_dn, mot_end, mot_telefone, mot_sal}

 

SIS-FRO  ALOCACAO { vei_num, frt_num, mot_num }

 

SIS-FRO  FROTA_TER { vei_num, ter_frota, ter_transp}

 

 

 

 

SYS-MANUT  oficina { ofi_codofic, ofi_nome, ofi_endereco, ofi_bairro, ofi_cidade, ofi_uf, ofi_tel}

 

SYS-MANUT manutencao { man_codmanut, man_dataentrada, man_datasaida }

 

 

SYS-MANUT servico {ser_codservicos, ser_descricao, ser_valor}

 

SYS-MANUT cotacao { cot_codcotacao, cot_data, cot_aprovacao}

 

 

 

 

SYS-MANUT OCORRENCIA {oco_cod, man_codmanut, vei_codveiculo}

 

- Foi alterada a chave estrangeira  vei_codveiculo para vei_num

 

SYS-MANUT OCORRENCIA {oco_cod, man_codmanut, vei_num}

 

 

 

______________________________________________________________________

 

SYS-MANUT TEM{ tem_cod, man_codmanut, ser_codservico}

 

SYS-MANUT VINCULO{ vin_cod , mat_codmaterial, ser_codservico}

 

SYS-MANUT PRESTA { pre_cod , man_codmanut, ofi_codofic}

 

 

______________________________________________________________________

 

 

Aplicando a 1FN

 

 

Devido  a boa aplicação desta técnica no primeiro estágio do projeto não houve ocorrência de discordância na 1º Integração.

 

 

Aplicando a  2FN

 

 

Devido  a boa aplicação desta técnica no primeiro estágio do projeto não houve ocorrência de discordância na 1º Integração.

 

 

 

Aplicando a  3FN

 

 

Detectamos uma discordância da 3FN nas entidadeLEASING o atributo lea_valor (ou seja valor total) não é mutuamente independente. Ele é divisível em parcelas. Para criar uma concordância com a 3FN este atributo será transferido para entidade LEASING_PARCELA. E para saber o total do leasing será necessário somar as parcelas.

 

 

LEASING{ vei_num, lea_num_leasing, lea_descrição, lea_quantidadeparcelas, lea_valor}

 

LEASING_PARCELA{ lep_leasing_parcela, lea_num_leasing, lep_data_vencimento, lep_data_pagamento}

 

Normalizado

 

 

LEASING{ vei_num, lea_num_leasing, lea_descrição, lea_quantidadeparcelas}

 

LEASING_PARCELA{ lep_leasing_parcela, lea_num_leasing, lep_data_vencimento, lep_data_pagamento, , lep_valorparcela}

 

 

Estrutura do Novo  Banco

 

VEICULO {vei_num, vei_placa, vei_modelo, vei_fabricante, vei_ano_fab, vei_data_compra, vei_preco_compra}

 

FRETE { fre_num, fre_ponto_partida, fre_ponto_chegada, fre_distancia, fre_gastos, fre_data_partida, fre_data_chegada}

 

MATERIAL {mat_codmaterial, mat_descricao, mat_quantidade, mat_valorunit,  mat_data_ entrada, mat_data_ saída }

 

LEASING{ lea_num_leasing, vei_num, lea_descricao}

 

LEASING_PARCELA{ lep_leasing_parcela, lea_num_leasing, lep_data_vencimento, lep_data_pagamento, lep_valorparcela}

 

TAXA{ tax_num_taxa, vei_num, tax_descricao, tax_valor, tax_data_pagamento}

 

MOTORISTA {mot_num, mot_nome, mot_carteira, mot_dn, mot_end, mot_telefone, mot_sal}

 

ALOCACAO { vei_num, frt_num, mot_num }

 

FROTA_TER { vei_num, ter_frota, ter_transp}

 

oficina { ofi_codofic, ofi_nome, ofi_endereco, ofi_bairro, ofi_cidade, ofi_uf, ofi_tel}

 

manutencao { man_codmanut, man_dataentrada, man_datasaida }

 

servico {ser_codservicos, ser_descricao, ser_valor}

 

cotacao { cot_codcotacao, cot_data, cot_aprovacao}

 

OCORRENCIA {oco_cod, man_codmanut, vei_num}

 

TEM{ tem_cod, man_codmanut, ser_codservico}

 

VINCULO{ vin_cod , mat_codmaterial, ser_codservico}

 

PRESTA { pre_cod , man_codmanut, ofi_codofic}


 

 

 

 

Modelo de Entidade e Ralacionamento

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Consulta 4  Nivel 1

 

 

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.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

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.

  

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

 

 

 

 

Conclusão

 

 

Com este modelo de exercício foi possível verificar a capacidade das equipes interagirem. Isso nos proporciona uma grande visão gerencial de Projetos de Banco de Dados e nos prepara para atuarmos em grandes projetos.  

 

Hosted by www.Geocities.ws

1