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 - 06

 

 

 

 

 

 

 

 

 

 

Wellingtonn Vergílio Fortes - Normalizador

 

 

 

 

 

Barra do Piraí - RJ, 21 de junho de 2004

 

 

DESENVOLVIMENTO

           

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

 

- Criação do Banco

4.2  Criação de Tabelas

 

Foi criado o Banco de Dados Frota que recebera o código SQL abaixo, para criação das tabelas.

 

CREATE TABLE ACESSO_PESSOA (ACP_ID INTEGER NOT NULL,

        PES_ID INTEGER NOT NULL,

        DPT INTEGER NOT NULL,

        ACP_DATA DATE,

        ACP_FLAG INTEGER);

 

CREATE TABLE ACESSO_VEICULO (VEI_ID INTEGER NOT NULL,

        PES_ID INTEGER NOT NULL,

        ACV_DATA DATE,

        DPT__ID INTEGER NOT NULL,

        CAR_ID INTEGER NOT NULL);

 

CREATE TABLE ARMAZEM (ARM_ID INTEGER NOT NULL,

        CLI_ID INTEGER NOT NULL,

        LOC_ID INTEGER NOT NULL,

        ARM_ESPACO_TOTAL VARCHAR(50),

        ARM_ESPACO_OCUPADO VARCHAR(50) NOT NULL,

PRIMARY KEY (ARM_ID));

 

CREATE TABLE CAPACITACAO_PESSOA (CAP_ID INTEGER NOT NULL,

        CAP_NOME VARCHAR(100),

        CAP_DESC VARCHAR(100),

        CAP_TEMPO INTEGER,

        CAP_CATEGORIA VARCHAR(100));

 

CREATE TABLE CARGA (CAR_ID INTEGER NOT NULL,

        CAR_QTD FLOAT NOT NULL,

        CAR_VALOR FLOAT NOT NULL,

        PRO_ID INTEGER NOT NULL,

        OSE_ID INTEGER NOT NULL,

        PCI_ID INTEGER NOT NULL,

PRIMARY KEY (CAR_ID));

 

CREATE TABLE CIDADE (CID_ID INTEGER NOT NULL,

        CID_NOME VARCHAR(100),

        CID_UF VARCHAR(2),

PRIMARY KEY (CID_ID));

 

CREATE TABLE CLIENTE (CLI_ID INTEGER NOT NULL,

        CLI_TIPO_PESSOA INTEGER NOT NULL,

        CLI_NOME VARCHAR(50) NOT NULL,

        CLI_ENDERECO VARCHAR(200) NOT NULL,

        CLI_CIDADE VARCHAR(50) NOT NULL,

        CLI_DT_CADASTRO DATE NOT NULL,

        CLI_SITE VARCHAR(50),

PRIMARY KEY (CLI_ID));

 

CREATE TABLE COMUNICACAO (COM_ID INTEGER NOT NULL,

        COM_MENSAGEM VARCHAR(50),

        MIS_ID INTEGER NOT NULL,

        COM_TIPO INTEGER NOT NULL,

        COM_DTHR DATE NOT NULL,

PRIMARY KEY (COM_ID));

 

CREATE TABLE CONTA_REC (CRE_ID INTEGER NOT NULL,

        FAT_ID INTEGER,

        CRE_VALOR_PAGO INTEGER,

        CRE_VALOR_A_PAGAR INTEGER,

PRIMARY KEY (CRE_ID));

 

CREATE TABLE COTACAO_MANUT (COT_ID INTEGER NOT NULL,

        COT_DATA DATE,

        COT_APROVACAO DATE,

        MAT_ID INTEGER NOT NULL);

 

CREATE TABLE DEPARTAMENTO (DPT_ID INTEGER NOT NULL,

        DPT_NOME VARCHAR(100),

        DPT_DESC VARCHAR(100));

 

CREATE TABLE DESTINATARIO (DES_ID INTEGER NOT NULL,

        DES_NOME VARCHAR(50),

        DES_ENDERECO VARCHAR(200),

        DES_CEP VARCHAR(10),

        DES_TELEFONE VARCHAR(18),

PRIMARY KEY (DES_ID));

 

CREATE TABLE ENTREGA (ENT_ID INTEGER NOT NULL,

        VAG_ID INTEGER NOT NULL,

        CAR_ID INTEGER NOT NULL,

        DES_ID INTEGER NOT NULL,

PRIMARY KEY (ENT_ID));

 

CREATE TABLE ESTOQUE (EST_ID INTEGER NOT NULL,

        EST_DESC VARCHAR(50),

        EST_QTDE INTEGER,

        MTR_ID INTEGER NOT NULL,

PRIMARY KEY (EST_ID));

 

CREATE TABLE FATURA (FAT_ID INTEGER NOT NULL,

        CLI_ID INTEGER NOT NULL,

        FAT_VALOR_TOTAL INTEGER,

        FAT_DATA_VENC DATE,

        FAT_PERC_DESC FLOAT,

        FAT_PERC_MULTA FLOAT,

        FAT_PERC_JUROS FLOAT,

PRIMARY KEY (FAT_ID));

 

CREATE TABLE FATURA_ITEM (FTI_ID INTEGER NOT NULL,

        FAT_ID INTEGER NOT NULL,

        EST_ID INTEGER NOT NULL,

        FTI_QTDE INTEGER,

        FTI_DESC_SERV VARCHAR(200),

        FTI_VALOR_MERC_SERV INTEGER,

PRIMARY KEY (FTI_ID, FAT_ID));

 

CREATE TABLE FORNECEDOR (FOR_ID INTEGER NOT NULL,

        FOR_NOME VARCHAR(50),

        FOR_ENDERECO VARCHAR(255),

        FOR_CNPJ VARCHAR(20),

PRIMARY KEY (FOR_ID));

 

CREATE TABLE FRETE (FRE_ID INTEGER NOT NULL,

        FRE_VALOR FLOAT NOT NULL,

        LOC_ID_ORIGEM INTEGER NOT NULL,

        LOC_ID_DESTINO INTEGER NOT NULL,

PRIMARY KEY (FRE_ID));

 

CREATE TABLE FROTA_TERC (FRO_ID INTEGER NOT NULL,

        FRO_TRANSPORTADORA VARCHAR(50),

        TER_ID INTEGER NOT NULL);

 

CREATE TABLE INCLUSAO_GRUPO (IGR_ID INTEGER NOT NULL,

        PAR_ID INTEGER NOT NULL,

        LOC_ID INTEGER NOT NULL,

PRIMARY KEY (IGR_ID));

 

CREATE TABLE ITEM_FISCAL (MTR_ID NUMERIC(9, 3) NOT NULL,

        NEN_ID INTEGER NOT NULL,

        FOR_ID INTEGER NOT NULL,

        IFI_QTD INTEGER NOT NULL,

        IFI_NRSERIE VARCHAR(10),

PRIMARY KEY (MTR_ID, NEN_ID, FOR_ID));

 

CREATE TABLE LOCALIZACAO (LOC_ID INTEGER NOT NULL,

        LOC_ENDERECO VARCHAR(500) NOT NULL,

        LOC_SETOR VARCHAR(20) NOT NULL,

        LOC_UF VARCHAR(2),

        LOC_CIDADE VARCHAR(50),

PRIMARY KEY (LOC_ID));

 

CREATE TABLE MANUTENCAO (MAN_ID INTEGER NOT NULL,

        MAN_DTHR_ENT DATE,

        MAN_DTHR_SAIDA DATE,

        SER_ID INTEGER NOT NULL);

 

CREATE TABLE MATERIAL (FOR_ID INTEGER NOT NULL,

        MTR_ID INTEGER NOT NULL,

        MTR_NOME VARCHAR(50) NOT NULL,

        MTR_DESCRICAO VARCHAR(200) NOT NULL,

PRIMARY KEY (MTR_ID));

 

CREATE TABLE MATERIAL_MANUT (MAT_ID INTEGER NOT NULL,

        MAT_DESC VARCHAR(50),

        MAT_QTD FLOAT,

        MAT_VALOR_UNIT FLOAT,

        MAT_DATAENT DATE,

        MAT_DATASAIDA DATE,

        SEM_ID INTEGER NOT NULL);

 

CREATE TABLE MISSAO (MIS_ID INTEGER NOT NULL,

        ROT_ID INTEGER NOT NULL,

        VAG_ID INTEGER NOT NULL,

PRIMARY KEY (MIS_ID));

 

CREATE TABLE MONITORAMENTO (MON_ID INTEGER NOT NULL,

        MIS_ID INTEGER NOT NULL,

        MON_LAT FLOAT,

        MON_LONG FLOAT,

        MON_VEL FLOAT,

        MON_DTHR DATE,

PRIMARY KEY (MON_ID));

 

CREATE TABLE NOTA_ENTRADA (NEN_ID INTEGER NOT NULL,

        FOR_ID INTEGER NOT NULL,

        NEN_DATA DATE NOT NULL,

        NEN_VLRTOTAL NUMERIC(9, 2) NOT NULL,

        NEN_LOTE_DESCRICAO VARCHAR(50),

        NEN_LOTE_DATA_ENTRADA DATE,

PRIMARY KEY (NEN_ID, FOR_ID));

 

CREATE TABLE OCORRENCIA (OCO_ID INTEGER NOT NULL,

        OCO_DESC VARCHAR(50),

        ACV_DTHR DATE,

        OCO_STATUS INTEGER,

        SER_ID INTEGER NOT NULL);

 

CREATE TABLE ORDEM_SERVICO (OSE_ID INTEGER NOT NULL,

        PAR_ID INTEGER NOT NULL,

        PCI_ID INTEGER NOT NULL,

PRIMARY KEY (OSE_ID));

 

CREATE TABLE PARCEIRO (PAR_ID INTEGER NOT NULL,

        PAR_NOME VARCHAR(100) NOT NULL,

        PAR_ENDERECO VARCHAR(100) NOT NULL,

        PAR_TELEFONE VARCHAR(50) NOT NULL,

        PAR_CONTATO VARCHAR(100) NOT NULL,

PRIMARY KEY (PAR_ID));

 

CREATE TABLE PARCELAMENTO (PAC_ID INTEGER NOT NULL,

        CRE_ID INTEGER NOT NULL,

        PAC_VALOR INTEGER,

        PAC_DATA_VENC DATE,

        PAC_DATA_REC DATE,

        PAC_JUROS_MULTA INTEGER,

PRIMARY KEY (PAC_ID, CRE_ID));

 

CREATE TABLE PEDAGIO (PED_ID INTEGER NOT NULL,

        PED_VALOR FLOAT,

        PED_DTHR DATE,

        VIA_ID INTEGER NOT NULL);

 

CREATE TABLE PEDIDO_CLIENTE (PCL_ID INTEGER NOT NULL,

        PCL_DATA DATE NOT NULL,

        PCL_DATA_ENTREGA DATE NOT NULL,

        PCL_STATUS VARCHAR(50) NOT NULL,

        PCL_NF INTEGER,

        CLI_ID INTEGER NOT NULL,

PRIMARY KEY (PCL_ID));

 

CREATE TABLE PEDIDO_CLIENTE_ITEM (PCI_ID INTEGER NOT NULL,

        PCL_ID INTEGER NOT NULL,

        PCI_PRECO FLOAT NOT NULL,

        PCI_GASTOSINDIRETOS FLOAT NOT NULL,

        PCI_MAODEOBRA FLOAT NOT NULL,

        FRE_ID INTEGER NOT NULL,

        PRO_ID INTEGER NOT NULL,

PRIMARY KEY (PCI_ID));

 

CREATE TABLE PEDIDO_COMPRA (PCO_ID INTEGER NOT NULL,

        PCO_DATA DATE,

        PCO_DATA_ENTREGA DATE,

        PCO_STATUS VARCHAR(50),

PRIMARY KEY (PCO_ID));

 

CREATE TABLE PEDIDO_COMPRA_ESTOQUE (EST_ID INTEGER NOT NULL,

        PCO_ID INTEGER NOT NULL,

        FOR_ID INTEGER NOT NULL,

        PCE_QTDE INTEGER,

        PCE_PRECO INTEGER,

PRIMARY KEY (EST_ID, PCO_ID));

 

CREATE TABLE PESSOA (PES_ID INTEGER NOT NULL,

        PES_NOME VARCHAR(50),

        PES_END VARCHAR(100),

        PES_CIDADE VARCHAR(100),

        PES_TELEFONE VARCHAR(18),

        PES_FLAG INTEGER,

        CAP_ID INTEGER NOT NULL,

PRIMARY KEY (PES_ID));

 

CREATE TABLE PRODUTO (PRO_ID INTEGER NOT NULL,

        PRO_VOLUME FLOAT NOT NULL,

        PRO_PESO FLOAT NOT NULL,

        PRO_VALOR FLOAT,

        PRO_TIPO VARCHAR(18),

        PRO_PERFIL VARCHAR(18),

        PRO_DESCRICAO VARCHAR(40),

PRIMARY KEY (PRO_ID));

 

CREATE TABLE RECEBIMENTO (MTR_ID NUMERIC(9, 3) NOT NULL,

        NEN_ID INTEGER NOT NULL,

        FOR_ID INTEGER NOT NULL,

        REC_DATA DATE NOT NULL,

        REC_QTDE INTEGER,

        REC_TIPO VARCHAR(30),

PRIMARY KEY (MTR_ID, NEN_ID, FOR_ID));

 

CREATE TABLE RECURSO_FISICO (REF_ID INTEGER NOT NULL,

        REF_DESC VARCHAR(50),

        REF_DATAENT DATE,

        REF_DATABAIXA DATE,

        PES_ID INTEGER NOT NULL,

PRIMARY KEY (REF_ID));

 

CREATE TABLE REQUISICAO (REQ_ID INTEGER NOT NULL,

        REQ_NOME VARCHAR(50),

        REQ_DATA DATE,

PRIMARY KEY (REQ_ID));

 

CREATE TABLE REQUISICAO_ESTOQUE (REQ_ID INTEGER NOT NULL,

        EST_ID INTEGER NOT NULL,

        RES_QTDE INTEGER,

PRIMARY KEY (REQ_ID, EST_ID));

 

CREATE TABLE ROTA (ROT_ID INTEGER NOT NULL,

        ROT_LAT FLOAT,

        ROT_LONG FLOAT,

        ROT_VEL_MAX FLOAT,

        ROT_WP INTEGER,

        VIA_ID INTEGER NOT NULL,

PRIMARY KEY (ROT_ID));

 

CREATE TABLE SERVICO (SEM_ID INTEGER NOT NULL,

        SEM_DESCRICAO VARCHAR(50),

        SEM_VALOR FLOAT,

        MAN_ID INTEGER NOT NULL,

        PES_ID INTEGER NOT NULL);

 

CREATE TABLE SERVICO_EST (SER_ID INTEGER NOT NULL,

        SER_DESC VARCHAR(50),

        SER_DATA DATE,

        VAG_ID INTEGER NOT NULL,

        VEI_ID INTEGER NOT NULL,

        COM_ID INTEGER NOT NULL);

 

CREATE TABLE TAXA (TAX_DESC VARCHAR(10),

        TAX_VALOR FLOAT,

        TAX_ID INTEGER NOT NULL,

        TAX_DATA_INC DATE,

        TAX_DATA_PAG DATE,

        TAX_DATA_VENC DATE,

        VEI_ID INTEGER NOT NULL,

PRIMARY KEY (TAX_ID));

 

CREATE TABLE TEMPO (TEM_ID INTEGER NOT NULL,

        TEM_PROB_CHUVA INTEGER,

        TEM_DATA DATE,

        TEM_MAX INTEGER,

        TEM_MIN INTEGER,

        CID_ID INTEGER NOT NULL);

 

CREATE TABLE TERCEIRO (TER_ID INTEGER NOT NULL,

        TER_NOME VARCHAR(50),

        TER_CONTATO VARCHAR(50),

        TER_TELEFONE VARCHAR(18));

 

CREATE TABLE VEICULO (VEI_ID INTEGER NOT NULL,

        VEI_PLACA VARCHAR(7),

        VEI_MODELO VARCHAR(50),

        VEI_DATACOMPRA DATE,

        VEI_PRECO FLOAT,

        VEI_ANOFAB INTEGER,

        FRO_ID INTEGER NOT NULL,

PRIMARY KEY (VEI_ID));

 

CREATE TABLE VIA (VIA_ID INTEGER NOT NULL,

        CID_ID INTEGER NOT NULL,

        VIA_KM INTEGER,

PRIMARY KEY (VIA_ID));

 

CREATE TABLE VIAGEM (VAG_ID INTEGER NOT NULL,

        VAG_DTHR_SAIDA DATE,

        VEI_ID INTEGER NOT NULL,

        CID_ID INTEGER NOT NULL,

        VAG_DTHR_CHEGADA DATE,

        PES_ID INTEGER NOT NULL,

PRIMARY KEY (VAG_ID));

 

CREATE INDEX XIF29ARMAZEM ON ARMAZEM(CLI_ID);

CREATE INDEX XIF30ARMAZEM ON ARMAZEM(LOC_ID);

CREATE UNIQUE INDEX XPKARMAZEM ON ARMAZEM(ARM_ID);

CREATE UNIQUE INDEX XPKCLIENTE ON CLIENTE(CLI_ID);

CREATE INDEX XIF17CONTA_REC ON CONTA_REC(FAT_ID);

CREATE UNIQUE INDEX XPKCONTA_REC ON CONTA_REC(CRE_ID);

CREATE INDEX XIF58ESTOQUE ON ESTOQUE(MTR_ID);

CREATE INDEX XIF36FATURA ON FATURA(CLI_ID);

CREATE UNIQUE INDEX XPKFATURA ON FATURA(FAT_ID);

CREATE INDEX XIF18FATURA_ITEM ON FATURA_ITEM(FAT_ID);

CREATE INDEX XIF35FATURA_ITEM ON FATURA_ITEM(EST_ID);

CREATE UNIQUE INDEX XPKFATURA_ITEM ON FATURA_ITEM(FTI_ID, FAT_ID);

CREATE UNIQUE INDEX XPKFORNECEDOR ON FORNECEDOR(FOR_ID);

CREATE INDEX XIF30FRETE ON FRETE(LOC_ID_DESTINO);

CREATE INDEX XIF34FRETE ON FRETE(LOC_ID_ORIGEM);

CREATE UNIQUE INDEX XPKFRETE ON FRETE(FRE_ID);

CREATE INDEX XIF26INCLUSAO_GRUPO ON INCLUSAO_GRUPO(PAR_ID);

CREATE INDEX XIF52INCLUSAO_GRUPO ON INCLUSAO_GRUPO(LOC_ID);

CREATE UNIQUE INDEX XPKINCLUSAO_GRUPO ON INCLUSAO_GRUPO(IGR_ID);

CREATE INDEX XIF39ITEM_FISCAL ON ITEM_FISCAL(MTR_ID);

CREATE INDEX XIF40ITEM_FISCAL ON ITEM_FISCAL(NEN_ID, FOR_ID);

CREATE UNIQUE INDEX XPKITEM_FISCAL ON ITEM_FISCAL(MTR_ID, NEN_ID, FOR_ID);

CREATE UNIQUE INDEX XPKLOCALIZACAO ON LOCALIZACAO(LOC_ID);

CREATE INDEX XIF32MATERIAL ON MATERIAL(FOR_ID);

CREATE UNIQUE INDEX XPKMATERIAL ON MATERIAL(MTR_ID);

CREATE INDEX XIF38NOTA_ENTRADA ON NOTA_ENTRADA(FOR_ID);

CREATE UNIQUE INDEX XPKNOTA_ENTRADA ON NOTA_ENTRADA(NEN_ID, FOR_ID);

CREATE INDEX XIF30ORDEM_SERVICO ON ORDEM_SERVICO(PAR_ID);

CREATE INDEX XIF32ORDEM_SERVICO ON ORDEM_SERVICO(PCI_ID);

CREATE UNIQUE INDEX XPKORDEM_SERVICO ON ORDEM_SERVICO(OSE_ID);

CREATE UNIQUE INDEX XPKPARCEIRO ON PARCEIRO(PAR_ID);

CREATE INDEX XIF26PARCELAMENTO ON PARCELAMENTO(CRE_ID);

CREATE UNIQUE INDEX XPKPARCELAMENTO ON PARCELAMENTO(PAC_ID, CRE_ID);

CREATE INDEX XIF29PEDIDO_CLIENTE ON PEDIDO_CLIENTE(CLI_ID);

CREATE UNIQUE INDEX XPKPEDIDO_CLIENTE ON PEDIDO_CLIENTE(PCL_ID);

CREATE INDEX XIF18PEDIDO_CLIENTE_ITEM ON PEDIDO_CLIENTE_ITEM(FRE_ID);

CREATE INDEX XIF5PEDIDO_CLIENTE_ITEM ON PEDIDO_CLIENTE_ITEM(PCL_ID);

CREATE UNIQUE INDEX XPKPEDIDO_CLIENTE_ITEM ON PEDIDO_CLIENTE_ITEM(PCI_ID);

CREATE UNIQUE INDEX XPKPEDIDO_COMPRA ON PEDIDO_COMPRA(PCO_ID);

CREATE INDEX XIF27PEDIDO_COMPRA_ESTOQUE ON PEDIDO_COMPRA_ESTOQUE(PCO_ID);

CREATE INDEX XIF30PEDIDO_COMPRA_ESTOQUE ON PEDIDO_COMPRA_ESTOQUE(EST_ID);

CREATE INDEX XIF47PEDIDO_COMPRA_ESTOQUE ON PEDIDO_COMPRA_ESTOQUE(FOR_ID);

CREATE UNIQUE INDEX XPKPEDIDO_COMPRA_ESTOQUE ON PEDIDO_COMPRA_ESTOQUE(EST_ID, PCO_ID);

CREATE UNIQUE INDEX XPKRECEBIMENTO ON RECEBIMENTO(MTR_ID, NEN_ID, FOR_ID);

CREATE UNIQUE INDEX XPKREQUISICAO ON REQUISICAO(REQ_ID);

CREATE INDEX XIF23REQUISICAO_ESTOQUE ON REQUISICAO_ESTOQUE(REQ_ID);

CREATE INDEX XIF24REQUISICAO_ESTOQUE ON REQUISICAO_ESTOQUE(EST_ID);

CREATE UNIQUE INDEX XPKREQUISICAO_ESTOQUE ON REQUISICAO_ESTOQUE(REQ_ID, EST_ID);

ALTER TABLE VIAGEM ADD FOREIGN KEY (CID_ID) REFERENCES CIDADE(CID_ID);

ALTER TABLE VIAGEM ADD FOREIGN KEY (VEI_ID) REFERENCES VEICULO(VEI_ID);

ALTER TABLE MISSAO ADD FOREIGN KEY (ROT_ID) REFERENCES ROTA(ROT_ID);

ALTER TABLE MISSAO ADD FOREIGN KEY (VAG_ID) REFERENCES VIAGEM(VAG_ID);

ALTER TABLE MONITORAMENTO ADD FOREIGN KEY (MIS_ID) REFERENCES MISSAO(MIS_ID);

ALTER TABLE CARGA ADD FOREIGN KEY (OSE_ID) REFERENCES ORDEM_SERVICO(OSE_ID);

ALTER TABLE VIA ADD FOREIGN KEY (CID_ID) REFERENCES CIDADE(CID_ID);

ALTER TABLE ROTA ADD FOREIGN KEY (VIA_ID) REFERENCES VIA(VIA_ID);

ALTER TABLE CARGA ADD FOREIGN KEY (PRO_ID) REFERENCES PRODUTO(PRO_ID);

ALTER TABLE ENTREGA ADD FOREIGN KEY (VAG_ID) REFERENCES VIAGEM(VAG_ID);

ALTER TABLE ENTREGA ADD FOREIGN KEY (CAR_ID) REFERENCES CARGA(CAR_ID);

ALTER TABLE ENTREGA ADD FOREIGN KEY (DES_ID) REFERENCES DESTINATARIO(DES_ID);

ALTER TABLE COMUNICACAO ADD FOREIGN KEY (MIS_ID) REFERENCES MISSAO(MIS_ID);

ALTER TABLE RECURSO_FISICO ADD FOREIGN KEY (PES_ID) REFERENCES PESSOA(PES_ID);

ALTER TABLE VIAGEM ADD FOREIGN KEY (PES_ID) REFERENCES PESSOA(PES_ID);

ALTER TABLE CARGA ADD FOREIGN KEY (PCI_ID) REFERENCES PEDIDO_CLIENTE_ITEM(PCI_ID);

ALTER TABLE PEDIDO_CLIENTE_ITEM ADD FOREIGN KEY (PRO_ID) REFERENCES PRODUTO(PRO_ID);

ALTER TABLE ESTOQUE ADD FOREIGN KEY (MTR_ID) REFERENCES MATERIAL(MTR_ID);

ALTER TABLE ARMAZEM ADD FOREIGN KEY (LOC_ID) REFERENCES LOCALIZACAO(LOC_ID);

ALTER TABLE ARMAZEM ADD FOREIGN KEY (CLI_ID) REFERENCES CLIENTE(CLI_ID);

ALTER TABLE CONTA_REC ADD FOREIGN KEY (FAT_ID) REFERENCES FATURA(FAT_ID);

ALTER TABLE FATURA ADD FOREIGN KEY (CLI_ID) REFERENCES CLIENTE(CLI_ID);

ALTER TABLE FATURA_ITEM ADD FOREIGN KEY (FAT_ID) REFERENCES FATURA(FAT_ID);

ALTER TABLE FRETE ADD FOREIGN KEY (LOC_ID_DESTINO) REFERENCES LOCALIZACAO(LOC_ID);

ALTER TABLE FRETE ADD FOREIGN KEY (LOC_ID_ORIGEM) REFERENCES LOCALIZACAO(LOC_ID);

ALTER TABLE INCLUSAO_GRUPO ADD FOREIGN KEY (LOC_ID) REFERENCES LOCALIZACAO(LOC_ID);

ALTER TABLE INCLUSAO_GRUPO ADD FOREIGN KEY (PAR_ID) REFERENCES PARCEIRO(PAR_ID);

ALTER TABLE NOTA_ENTRADA ADD FOREIGN KEY (FOR_ID) REFERENCES FORNECEDOR(FOR_ID);

ALTER TABLE ORDEM_SERVICO ADD FOREIGN KEY (PCI_ID) REFERENCES PEDIDO_CLIENTE_ITEM(PCI_ID);

ALTER TABLE ORDEM_SERVICO ADD FOREIGN KEY (PAR_ID) REFERENCES PARCEIRO(PAR_ID);

ALTER TABLE PARCELAMENTO ADD FOREIGN KEY (CRE_ID) REFERENCES CONTA_REC(CRE_ID);

ALTER TABLE PEDIDO_CLIENTE ADD FOREIGN KEY (CLI_ID) REFERENCES CLIENTE(CLI_ID);

ALTER TABLE PEDIDO_CLIENTE_ITEM ADD FOREIGN KEY (FRE_ID) REFERENCES FRETE(FRE_ID);

ALTER TABLE PEDIDO_CLIENTE_ITEM ADD FOREIGN KEY (PCL_ID) REFERENCES PEDIDO_CLIENTE(PCL_ID);

ALTER TABLE PEDIDO_COMPRA_ESTOQUE ADD FOREIGN KEY (FOR_ID) REFERENCES FORNECEDOR(FOR_ID);

ALTER TABLE PEDIDO_COMPRA_ESTOQUE ADD FOREIGN KEY (EST_ID) REFERENCES ESTOQUE(EST_ID);

ALTER TABLE PEDIDO_COMPRA_ESTOQUE ADD FOREIGN KEY (PCO_ID) REFERENCES PEDIDO_COMPRA(PCO_ID);

ALTER TABLE MATERIAL ADD FOREIGN KEY (FOR_ID) REFERENCES FORNECEDOR(FOR_ID);

ALTER TABLE REQUISICAO_ESTOQUE ADD FOREIGN KEY (EST_ID) REFERENCES ESTOQUE(EST_ID);

ALTER TABLE REQUISICAO_ESTOQUE ADD FOREIGN KEY (REQ_ID) REFERENCES REQUISICAO(REQ_ID);

ALTER TABLE ITEM_FISCAL ADD FOREIGN KEY (NEN_ID, FOR_ID) REFERENCES NOTA_ENTRADA(NEN_ID, FOR_ID);

ALTER TABLE ITEM_FISCAL ADD FOREIGN KEY (MTR_ID) REFERENCES MATERIAL(MTR_ID);

ALTER TABLE RECEBIMENTO ADD FOREIGN KEY (MTR_ID, NEN_ID, FOR_ID) REFERENCES ITEM_FISCAL(MTR_ID, NEN_ID, FOR_ID);

ALTER TABLE ESTOQUE ADD FOREIGN KEY (MTR_ID) REFERENCES MATERIAL(MTR_ID);

ALTER TABLE ITEM_FISCAL ADD FOREIGN KEY (MTR_ID) REFERENCES MATERIAL(MTR_ID);

 

 

 

 

 

Consulta -7

 

 

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.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

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.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

 

Hosted by www.Geocities.ws

1