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 02

 

 

 

 

 

 

 

 

 

 

Wellingtonn Vergílio Fortes

 

 

 

 

 

Barra do Piraí, 10 de abril de 2004

 

 

 

 

 

 

 

 

 

 

 

I-                   Introdução

 

 

 

- Motivação

 

Com o desenvolvimento deste projeto estaremos obtendo experiência para desenvolver Projetos de Bancos de Dados com eficácia.

 

Aplicar técnicas de Banco de Dados com objetivo de trazer um alto nível de qualidade ao Banco de Custo Com Frota

 

                 - Objetivo

 

Nesta parte do projeto damos início a produção do Banco de Dados mencionado na especificação do projeto ( Listex 02). O projeto inicialmente estará no nível de Interação 1. O banco a ser projetado será o SYS-CFR ( Custo com Frota ).

 

 

 

II-                Conteúdo

 

 

- Descrição dos Procedimentos

 

 

            Para caracterizarmos o banco como de alta qualidade aplicaremos as Técnicas de Normalização até o 3 nível e Trigamação e também iremos utilizar a “Heurística dos Cinco mais ou menos Dois Elementos” para não deixar o banco extenso.

 

 

           - Normalização

 

       

·        0FN

 

Inicialmente o banco foi apresentado com a seguinte estrutura.

 

Entidade: Custo

 

Atributos: {cod_custo, veiculo, custokm, leasing, taxas, materialconsumo}

 

 

 

 

 

 

·        1FN

 

Ao aplicando a 1ª Forma Normal estaremos deixando todos os atributos atômicos.

 

 

Entidade : custo

 

Atributos : {cod_custo,cod_veiculo, placa, ano, modelo, cod_percuso,cidade_origem,cidade_destino,tempo_percorrido,km_percorrido,cod_leasing,descricao,data_vencimento_parcela,valor_parcela, quitado, cod_taxa, descricao, valor, data_pagamento, cod_material, descricao, valor, data_consumo}

 

                       

 

·        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.

 

Entidade: VEICULO

 

Atributos: {cod_veiculo, placa, ano, modelo}

 

Entidade: CUSTOKM

 

Atributos: {cod_percuso, cidade_origem, cidade_destino, tempo_percorrido, km_percorrido}

 

Entidade: LEASING

 

Atributos: {cod_leasing, descricao, data_vencimento_parcela, valor_parcela, quitado}

 

Entidade: TAXAS

 

Atributos: {cod_taxa, descricao, valor, data_pagamento}

 

Entidade: MATERIALCONSUMO

 

Atributos: {cod_material, descricao, valor, data_consumo}

 

 

 

 

 

 

 

 

 

 

 

 

·        3FN

 

Refere-se ao agrupamento de Relações requeridas na 2FN, com cada atributo não chave referindo-se diretamente a chave.

 

 

Entidade: LEASING

 

Atributos: {cod_leasing, descricao}

 

Entidade: LEASINGPARCELA

 

Atributos: {num_leasing_parcela, data_vencimento_parcela, valor_parcela, quitado}

 

 

 

 

 

 

-         Trigramação

 

Foi aplicada a técnica de trigramação.

 

Entidade: VEICULO

 

Atributos: {vei_cod_veiculo, vei_placa, vei_ano, vei_modelo}

 

Entidade: CUSTOKM

 

Atributos: {cus_cod_percuso, cus_cidade_origem, cus_cidade_destino, cus_tempo_percorrido, cus_km_percorrido}

 

Entidade: LEASING

 

Atributos: {lea_cod_leasing, lea_descricao}

 

Entidade: LEASINGPARCELA

 

Atributos: {lep_num_leasing_parcela, lep_data_vencimento_parcela, lep_valor_parcela, lep_quitado}

 

Entidade: TAXAS

 

Atributos: {tax_cod_taxa, tax_descricao,tax_valor, tax_data_pagamento}

 

Entidade: MATERIALCONSUMO

 

Atributos: {mat_cod_material,mat_descricao, mat_valor, mat_data_consumo}

 

O Banco definitivo é demonstrado abaixo.

 

 

SYS-CFR

VEICULO

vei_cod_veiculo

vei_placa

vei_ano

vei_modelo

 

 

 

 

CUSTOKM

cus_cod_percuso

cus_cidade_origem

cus_cidade_destino

cus_tempo_percorrido

cus_km_percorrido

 

 

 

 

 

LEASING

lea_cod_leasing

lea_descricao

 

 

LEASINGPARCELA

lep_cod_leasing_parcela

lep_data_vencimento_parcela

lep_valor_parcela

lep_quitado

 

 

 

 

TAXAS

tax_cod_taxa

tax_descricao

tax_valor

tax_data_pagamento

 

 

 

 

MATERIALCONSUMO

mat_cod_material

mat_descricao

mat_valor

mat_data_consumo

 

 

 

 

 

 

 

-         Modelo de Entidade e Relacionamento

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


-         Tuples

 

 

SYS-CFR

VEICULO

vei_cod_veiculo

vei_placa

vei_ano

vei_modelo

1

Jkl4567

2000

FORD 4000

2

Yui4569

1984

FORD 10000

3

Ase7814

2003

VOLVO SCANIA

 

 

 

 

CUSTOKM

cus_cod_percuso

cus_cidade_origem

cus_cidade_destino

cus_tempo_percorrido

cus_km_percorrido

1

Barra do Piraí

São Jose dos Campos

4

300

2

Volta Redonda

São Jose dos Campos

3

230

3

Rio de Janeiro

São Jose dos Campos

6

600

 

 

 

 

 

LEASING

lea_cod_leasing

lea_descricao

1

Feito pelo Banco Real

2

Feito pelo Banco Real

3

Feito pelo Banco Unibanco

 

 

LEASINGPARCELA

lep_cod_leasing_parcela

lep_data_vencimento_parcela

lep_valor_parcela

lep_quitado

1

12/04/2004

R$ 1000,00

SIM

2

20/04/2004

R$ 10000,00

Não

2

05/05/2004

R$ 13000,00

Não

 

 

 

 

TAXAS

tax_cod_taxa

tax_descricao

tax_valor

tax_data_pagamento

1

Pedágio

R$ 12,00

 

2

ICM

R$ 300,00

30/05/2004

3

Pedágio

R$ 5,80

 

 

 

 

 

MATERIALCONSUMO

mat_cod_material

mat_descricao

mat_valor

mat_data_consumo

1

Óleo para motor

R$ 20,00

02/02/2004

2

Óleo para freio

R$ 30,00

30/04/2004

3

Pneus

R$ 300,00

 

 

 

-         Criando o Banco

 

 

create table VEICULO(

vei_cod_veiculo varchar(10) not null,

vei_ano int,

vei_placa varchar(7),

vei_modelo varchar(100),

primary key(vei_cod_veiculo));

 

create table CUSTOKM(

cus_cod_percuso varchar(10) not null,

cus_tempo_percorrido int not null,

cus_km_percorrido int not null,

cus_cidade_origem varchar(70)not null,

cus_cidade_destino varchar(70)not null,

primary key(cus_cod_percuso));

 

create table LEASING(

lea_cod_leasing varchar(10) not null,

lea_descricao varchar(100)not null,

primary key(lea_cod_leasing));

 

create table LEASINGPARCELA(

lep_cod_leasing_parcela varchar(10) not null,

lep_data_vencimento_parcela DATE not null,

lep_valor_parcela int not null,

lep_quitado varchar(1),

primary key(lep_cod_leasing_parcela));

 

create table TAXA(

tax_cod_taxa varchar(10) not null,

tax_descricao VARCHAR(200)not null,

tax_valor int not null,

tax_data_pagamento DATE NOT NULL,

primary key(tax_cod_taxa));

 

 

create table MATERIALCONSUMO(

mat_cod_material varchar(10) not null,

mat_descricao VARCHAR(200)not null,

mat_valor int not null,

mat_data_consumo DATE NOT NULL,

primary key(mat_cod_material));

 

create table MISSAO(

mis_cod varchar(4) not null,

vei_cod_veiculo varchar(10) not null,

cus_cod_percuso varchar(10) not null,

primary key(mis_cod));

 

create table GASTOTAX(

gtx_cod varchar(4) not null,

cus_cod_percuso varchar(10) not null,

tax_cod_taxa varchar(10) not null,

primary key(gtx_cod));

 

create table GASTOMAT(

gmt_cod varchar(4) not null,

cus_cod_percuso varchar(10) not null,

mat_cod_material varchar(10) not null,

primary key(gmt_cod));

 

 

ALTER TABLE "MISSAO" ADD CONSTRAINT "FK1" FOREIGN KEY ("VEI_COD_VEICULO") REFERENCES VEICULO ("VEI_COD_VEICULO");

 

ALTER TABLE MISSAO ADD CONSTRAINT FK2 FOREIGN KEY (cus_cod_percuso) REFERENCES CUSTOKM (cus_cod_percuso)

 

ALTER TABLE LEASING ADD CONSTRAINT FK1 FOREIGN KEY (vei_cod_veiculo) REFERENCES VEICULO (vei_cod_veiculo)

 

ALTER TABLE LEASINGPARCELA ADD CONSTRAINT FK2 FOREIGN KEY (lea_cod_leasing) REFERENCES LEASING  (lea_cod_leasing)

ALTER TABLE GASTOTAX ADD CONSTRAINT FK3 FOREIGN KEY (cus_cod_percuso) REFERENCES CUSTOKM (cus_cod_percuso)

ALTER TABLE GASTOMAT ADD CONSTRAINT FK4 FOREIGN KEY (cus_cod_percuso) REFERENCES CUSTOKM (cus_cod_percuso)

ALTER TABLE GASTOMAT ADD CONSTRAINT FK5 FOREIGN KEY (mat_cod_material) REFERENCES MATERIALCONSUMO (mat_cod_material)

ALTER TABLE GASTOTAX ADD CONSTRAINT FK6 FOREIGN KEY (tax_cod_taxa) REFERENCES TAXAS (tax_cod_taxa)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


III-              Conclusão

 

 

Nesta Listex nós permitiu visualizar as melhorias que determinadas técnicas podem trazer para um projeto de banco de dados.

Hosted by www.Geocities.ws

1