CREATE TABLE LOCAL_APOIO (
loa_codigo INTEGER NOT NULL,
loa_nome VARCHAR(18) NOT NULL,
loa_cidade VARCHAR(18) NOT NULL,
loa_gerente VARCHAR(18) NOT NULL,
PRIMARY KEY (loa_codigo)
);
CREATE TABLE RH (
rch_codigo VARCHAR(18) NOT NULL,
rch_nome VARCHAR(18) NOT NULL,
rch_endereco VARCHAR(18),
rch_adm DATE,
loa_codigo INTEGER NOT NULL,
rch_cargo VARCHAR(18) NOT NULL,
rch_cpf INTEGER,
rch_rg VARCHAR(20),
rch_telefone INTEGER,
PRIMARY KEY (rch_codigo),
FOREIGN KEY (loa_codigo)
REFERENCES LOCAL_APOIO
);
CREATE TABLE MOTORISTA (
rch_codigo VARCHAR(18) NOT NULL,
mot_habilitacao VARCHAR(15),
mot_nascimento DATE,
mot_experiencia INTEGER,
PRIMARY KEY (rch_codigo),
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE MODELO (
mod_modelo VARCHAR(20) NOT NULL,
mod_fabricante VARCHAR(20),
mod_tipo VARCHAR(20),
mod_capacidade INTEGER,
mod_pontencia INTEGER,
mod_largura FLOAT,
mod_comprimento FLOAT,
PRIMARY KEY (mod_modelo)
);
CREATE TABLE RECURSO_FISICO (
rcf_codigo INTEGER NOT NULL,
rcf_descricao VARCHAR(18) NOT NULL,
rcf_tipo VARCHAR(18),
loa_codigo INTEGER NOT NULL,
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (loa_codigo)
REFERENCES LOCAL_APOIO
);
CREATE TABLE RECURSO_PERMANETE (
rcf_codigo INTEGER NOT NULL,
rpe_patrimonio VARCHAR(18),
rpe_utilidade VARCHAR(18),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO
);
CREATE TABLE VEICULO (
rcf_codigo INTEGER NOT NULL,
vei_placa CHAR(18) NOT NULL,
vei_km_atual INTEGER,
vei_ano INTEGER,
vei_tipo VARCHAR(20),
vei_chassis VARCHAR(20),
mod_modelo VARCHAR(20) NOT NULL,
vei_cor VARCHAR(10),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (mod_modelo)
REFERENCES MODELO,
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_PERMANETE
);
CREATE TABLE FORNECEDOR (
for_cnpj VARCHAR(18) NOT NULL,
for_nome VARCHAR(18) NOT NULL,
for_endereco VARCHAR(18) NOT NULL,
for_contato VARCHAR(18),
for_tipo VARCHAR(18),
PRIMARY KEY (for_cnpj)
);
CREATE TABLE CONTRATO (
ctt_codigo INTEGER NOT NULL,
ctt_data_inicio DATE,
ctt_data_fim DATE,
ctt_valor INTEGER,
ctt_descr VARCHAR(18),
PRIMARY KEY (ctt_codigo)
);
CREATE TABLE CONTRATO_FORNECEDOR (
ctt_codigo INTEGER NOT NULL,
for_cnpj VARCHAR(18) NOT NULL,
cof_observacao VARCHAR(18),
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (for_cnpj)
REFERENCES FORNECEDOR,
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO
);
CREATE TABLE TREINAMENTO (
ctt_codigo INTEGER NOT NULL,
tre_descricao VARCHAR(18) NOT NULL,
tre_pre_requisito VARCHAR(18),
tre_validade VARCHAR(18),
tre_valor CHAR(18),
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO_FORNECEDOR
);
CREATE TABLE BANCO (
ban_cod INTEGER NOT NULL,
ban_descr VARCHAR(18),
ban_telef VARCHAR(18),
PRIMARY KEY (ban_cod)
);
CREATE TABLE AGENCIA (
age_cod INTEGER NOT NULL,
ban_cod INTEGER NOT NULL,
age_descr VARCHAR(18),
age_numconta INTEGER,
PRIMARY KEY (age_cod),
FOREIGN KEY (ban_cod)
REFERENCES BANCO
);
CREATE TABLE TITULO (
tit_num INTEGER NOT NULL,
tit_descr VARCHAR(18),
tit_dtemissao DATE,
tit_valor FLOAT,
tit_valortaxas FLOAT,
tit_dtvencimento DATE,
tit_dtliquidacao DATE,
tit_situacao VARCHAR(18),
tit_valordesconto FLOAT,
ctt_codigo INTEGER NOT NULL,
age_cod INTEGER NOT NULL,
PRIMARY KEY (tit_num),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO,
FOREIGN KEY (age_cod)
REFERENCES AGENCIA
);
CREATE TABLE TIPOCUSTO (
tip_codigo CHAR(18) NOT NULL,
tip_especie CHAR(18),
tip_nome CHAR(18),
tip_ultimocusto NUMERIC,
tip_kmtroca INTEGER,
PRIMARY KEY (tip_codigo)
);
CREATE TABLE TIPO_QUALIFICACAO (
tqu_codigo VARCHAR(18) NOT NULL,
tqu_area VARCHAR(18) NOT NULL,
tqu_nivel VARCHAR(18),
PRIMARY KEY (tqu_codigo)
);
CREATE TABLE SOLICITACAO (
sol_cod INTEGER NOT NULL,
sol_descr VARCHAR(18),
sol_cargesp VARCHAR(18),
sol_descarga VARCHAR(18),
sol_txurg NUMERIC,
sol_km NUMERIC,
sol_pesodim NUMERIC,
PRIMARY KEY (sol_cod)
);
CREATE TABLE AREA (
are_id INTEGER NOT NULL,
are_nome VARCHAR(30),
are_velmax INTEGER,
are_status INTEGER NOT NULL,
PRIMARY KEY (are_id)
);
CREATE TABLE PONTO (
pon_id INTEGER NOT NULL,
pon_nome VARCHAR(20) NOT NULL,
pon_coord_x INTEGER NOT NULL,
pon_coord_y INTEGER NOT NULL,
are_id INTEGER NOT NULL,
PRIMARY KEY (pon_id),
FOREIGN KEY (are_id)
REFERENCES AREA
);
CREATE TABLE PREFERENCIAL (
pre_id INTEGER NOT NULL,
pre_descricao VARCHAR(18),
pre_nome VARCHAR(40),
PRIMARY KEY (pre_id)
);
CREATE TABLE CLIENTE (
cli_codigo INTEGER NOT NULL,
cli_nome VARCHAR(18),
cli_rbc VARCHAR(18),
cli_cidade VARCHAR(18),
cli_telefone VARCHAR(18),
cli_email CHAR(18),
cli_senha CHAR(6),
cli_cpfcnpj CHAR(20),
cli_doc VARCHAR(20),
pre_id INTEGER,
pon_id INTEGER,
PRIMARY KEY (cli_codigo),
FOREIGN KEY (pon_id)
REFERENCES PONTO,
FOREIGN KEY (pre_id)
REFERENCES PREFERENCIAL
);
CREATE TABLE SOL_CLI (
cli_codigo INTEGER NOT NULL,
sol_cod INTEGER NOT NULL,
scl_data DATE,
PRIMARY KEY (cli_codigo, sol_cod),
FOREIGN KEY (cli_codigo)
REFERENCES CLIENTE,
FOREIGN KEY (sol_cod)
REFERENCES SOLICITACAO
);
CREATE TABLE RH_TREINAMENTO (
rch_codigo VARCHAR(18) NOT NULL,
ctt_codigo INTEGER NOT NULL,
rht_data DATE,
PRIMARY KEY (rch_codigo, ctt_codigo),
FOREIGN KEY (ctt_codigo)
REFERENCES TREINAMENTO,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE SERVICO (
srv_codigo INTEGER NOT NULL,
srv_tipo INTEGER NOT NULL,
srv_descricao VARCHAR(18),
srv_valor INTEGER,
PRIMARY KEY (srv_codigo)
);
CREATE TABLE CONTATO (
cnt_codigo INTEGER NOT NULL,
cnt_nome VARCHAR(18),
cnt_telefone CHAR(18),
cnt_email CHAR(18),
PRIMARY KEY (cnt_codigo)
);
CREATE TABLE ATENDIMENTO_TELEFONICO (
afn_codigo INTEGER NOT NULL,
cnt_codigo INTEGER,
afn_dpt VARCHAR(18),
srv_codigo INTEGER,
afn_data DATE,
afn_situacao VARCHAR(18),
cli_codigo INTEGER,
rch_codigo VARCHAR(18),
PRIMARY KEY (afn_codigo),
FOREIGN KEY (rch_codigo)
REFERENCES RH,
FOREIGN KEY (cli_codigo)
REFERENCES CLIENTE,
FOREIGN KEY (srv_codigo)
REFERENCES SERVICO,
FOREIGN KEY (cnt_codigo)
REFERENCES CONTATO
);
CREATE TABLE CONTRATO_CLIENTE (
ctt_codigo INTEGER NOT NULL,
sol_cod INTEGER NOT NULL,
cli_codigo INTEGER NOT NULL,
afn_codigo INTEGER,
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (afn_codigo)
REFERENCES ATENDIMENTO_TELEFONICO,
FOREIGN KEY (cli_codigo, sol_cod)
REFERENCES SOL_CLI,
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO
);
CREATE TABLE MERCADORIA (
mer_cod INTEGER NOT NULL,
mer_descricao VARCHAR(50),
mer_peso NUMERIC,
PRIMARY KEY (mer_cod)
);
CREATE TABLE ROTA (
rot_id INTEGER NOT NULL,
rot_descricao CHAR(18),
rot_nome VARCHAR(20),
PRIMARY KEY (rot_id)
);
CREATE TABLE MISSAO (
mis_id INTEGER NOT NULL,
mis_inicio DATE,
mis_termino DATE,
rot_id INTEGER,
mer_cod INTEGER,
ctt_codigo INTEGER,
PRIMARY KEY (mis_id),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO_CLIENTE,
FOREIGN KEY (mer_cod)
REFERENCES MERCADORIA,
FOREIGN KEY (rot_id)
REFERENCES ROTA
);
CREATE TABLE ATENDIMENTO (
atd_codigo INTEGER NOT NULL,
atd_data_inicio DATE NOT NULL,
atd_hora_fim DATE NOT NULL,
atd_hora_inicio DATE,
atd_data_fim DATE NOT NULL,
atd_observacoes VARCHAR(18) NOT NULL,
mis_id INTEGER,
PRIMARY KEY (atd_codigo),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE RH_ATENDIMENTO (
atd_codigo INTEGER NOT NULL,
rch_codigo VARCHAR(18) NOT NULL,
rha_tarefa VARCHAR(18) NOT NULL,
rca_desempenho VARCHAR(18),
PRIMARY KEY (atd_codigo, rch_codigo),
FOREIGN KEY (rch_codigo)
REFERENCES RH,
FOREIGN KEY (atd_codigo)
REFERENCES ATENDIMENTO
);
CREATE TABLE RF_ATENDIMENTO (
atd_codigo INTEGER NOT NULL,
rcf_codigo INTEGER NOT NULL,
rfa_quantidade INTEGER,
rfa_data_saida INTEGER,
rfa_data_chegada INTEGER,
PRIMARY KEY (atd_codigo, rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO,
FOREIGN KEY (atd_codigo)
REFERENCES ATENDIMENTO
);
CREATE TABLE QUALIFICACAO (
rch_codigo VARCHAR(18) NOT NULL,
tqu_codigo VARCHAR(18) NOT NULL,
qua_local VARCHAR(18) NOT NULL,
qua_periodo VARCHAR(18),
PRIMARY KEY (rch_codigo, tqu_codigo),
FOREIGN KEY (tqu_codigo)
REFERENCES TIPO_QUALIFICACAO,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE PLANEJAMENTO (
pla_numero INTEGER NOT NULL,
rcf_codigo INTEGER NOT NULL,
pla_kmproximo INTEGER,
pla_quantidade INTEGER,
tip_codigo CHAR(18) NOT NULL,
PRIMARY KEY (pla_numero, rcf_codigo),
FOREIGN KEY (tip_codigo)
REFERENCES TIPOCUSTO,
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE ORDEM_SERVICO (
ors_numero INTEGER NOT NULL,
ors_entrada DATE,
ors_execucao DATE,
mis_id INTEGER,
ors_descricao VARCHAR(18),
PRIMARY KEY (ors_numero),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE MOVIMENTACAO (
mov_cod INTEGER NOT NULL,
tit_num INTEGER NOT NULL,
mov_data DATE,
mov_instrucao VARCHAR(18),
mov_valoremissao FLOAT,
mov_frequencia VARCHAR(18),
mov_tipo VARCHAR(18),
PRIMARY KEY (mov_cod),
FOREIGN KEY (tit_num)
REFERENCES TITULO
);
CREATE TABLE MATERIAL_CONSUMO (
rcf_codigo INTEGER NOT NULL,
mtc_quantidade INTEGER,
mtc_observacao VARCHAR(18),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO
);
CREATE TABLE MANUTENCAO (
ctt_codigo INTEGER NOT NULL,
man_grau CHAR(18),
man_reparo CHAR(18),
man_datafim CHAR(18),
man_descricao CHAR(18),
man_valor_total NUMERIC,
man_km INTEGER,
rcf_codigo INTEGER NOT NULL,
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO_FORNECEDOR,
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_PERMANETE
);
CREATE TABLE FOLHA_PAGAMENTO (
rch_codigo VARCHAR(18) NOT NULL,
fop_data DATE NOT NULL,
fop_salario NUMERIC,
fop_hora_extra NUMERIC,
fop_premio NUMERIC,
age_cod INTEGER NOT NULL,
PRIMARY KEY (rch_codigo, fop_data),
FOREIGN KEY (age_cod)
REFERENCES AGENCIA,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE EQUIPAMENTO (
rcf_codigo INTEGER NOT NULL,
equ_estado_conservacao VARCHAR(18),
equ_observacao VARCHAR(18),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_PERMANETE
);
CREATE TABLE DOCUMENTACAO (
doc_num INTEGER NOT NULL,
doc_ano_vigencia INTEGER,
doc_vencimento DATE,
doc_pagamento VARCHAR(20),
doc_tipo VARCHAR(20),
rcf_codigo INTEGER NOT NULL,
PRIMARY KEY (doc_num),
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE CUSTO (
ctt_codigo INTEGER NOT NULL,
tip_codigo CHAR(18) NOT NULL,
cto_quantidade CHAR(18),
cto_valor_unit NUMERIC,
PRIMARY KEY (ctt_codigo, tip_codigo),
FOREIGN KEY (tip_codigo)
REFERENCES TIPOCUSTO,
FOREIGN KEY (ctt_codigo)
REFERENCES MANUTENCAO
);
CREATE TABLE COMPRA_RF (
rcf_codigo INTEGER NOT NULL,
ctt_codigo INTEGER NOT NULL,
rfc_preco NUMERIC,
rfc_quantidade INTEGER,
PRIMARY KEY (rcf_codigo, ctt_codigo),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO_FORNECEDOR,
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO
);
CREATE TABLE ALOCACAO_RH (
rch_codigo VARCHAR(18) NOT NULL,
ors_numero INTEGER NOT NULL,
arh_tarefa VARCHAR(18),
arh_desempenho VARCHAR(18),
PRIMARY KEY (rch_codigo, ors_numero),
FOREIGN KEY (ors_numero)
REFERENCES ORDEM_SERVICO,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE ALOCACAO_RF (
rcf_codigo INTEGER NOT NULL,
ors_numero INTEGER NOT NULL,
arf_quantidade INTEGER,
arf_km_saida INTEGER,
arf_km_chegada INTEGER,
PRIMARY KEY (rcf_codigo, ors_numero),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO,
FOREIGN KEY (ors_numero)
REFERENCES ORDEM_SERVICO
);
CREATE TABLE FASE (
fas_id INTEGER NOT NULL,
fas_desc VARCHAR(50),
fas_nome VARCHAR(20),
fas_rodovia VARCHAR(30),
fas_tempoestimado DATE,
fas_tempodescanso DATE,
PRIMARY KEY (fas_id)
);
CREATE TABLE FASROT (
rot_id INTEGER NOT NULL,
fas_id INTEGER NOT NULL,
frt_sequencia INTEGER NOT NULL,
PRIMARY KEY (rot_id, fas_id),
FOREIGN KEY (fas_id)
REFERENCES FASE,
FOREIGN KEY (rot_id)
REFERENCES ROTA
);
CREATE TABLE FATOR (
fat_codigo INTEGER NOT NULL,
fat_primario VARCHAR(18),
fat_secundario VARCHAR(18),
PRIMARY KEY (fat_codigo)
);
CREATE TABLE TRANSPORTE (
tra_id INTEGER NOT NULL,
tra_datahora DATE NOT NULL,
tra_velmed INTEGER,
mis_id INTEGER NOT NULL,
pon_id INTEGER NOT NULL,
PRIMARY KEY (tra_id),
FOREIGN KEY (pon_id)
REFERENCES PONTO,
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE OCORRENCIA (
tra_id INTEGER NOT NULL,
oco_data DATE NOT NULL,
oco_hora time NOT NULL,
fat_codigo INTEGER,
oco_descricao VARCHAR(18),
fas_id INTEGER,
PRIMARY KEY (tra_id, oco_data, oco_hora),
FOREIGN KEY (fas_id)
REFERENCES FASE,
FOREIGN KEY (fat_codigo)
REFERENCES FATOR,
FOREIGN KEY (tra_id)
REFERENCES TRANSPORTE
);
CREATE TABLE INDENIZACAO (
ind_codigo INTEGER NOT NULL,
oco_data DATE,
ind_tipo CHAR(18) NOT NULL,
oco_hora time,
ind_data DATE NOT NULL,
tra_id INTEGER,
PRIMARY KEY (ind_codigo),
FOREIGN KEY (tra_id, oco_data, oco_hora)
REFERENCES OCORRENCIA
);
CREATE TABLE PAGAMENTO (
pag_cod INTEGER NOT NULL,
pag_tipo VARCHAR(18),
ind_codigo INTEGER,
pag_vlr FLOAT NOT NULL,
pag_data CHAR(18),
PRIMARY KEY (pag_cod),
FOREIGN KEY (ind_codigo)
REFERENCES INDENIZACAO
);
CREATE TABLE MARKETING (
mar_id INTEGER NOT NULL,
mar_descricao VARCHAR(18),
mar_nome VARCHAR(40),
PRIMARY KEY (mar_id)
);
CREATE TABLE MAR_PRE (
pre_id INTEGER NOT NULL,
mar_id INTEGER NOT NULL,
mpr_codreferencia VARCHAR(18) NOT NULL,
PRIMARY KEY (pre_id, mar_id),
FOREIGN KEY (mar_id)
REFERENCES MARKETING,
FOREIGN KEY (pre_id)
REFERENCES PREFERENCIAL
);
CREATE TABLE COTACAO (
cot_id INTEGER NOT NULL,
cot_produto VARCHAR(18),
cot_area_volume FLOAT,
cot_qtde_volume INTEGER,
cot_vlr_frete FLOAT,
cot_peso_unit FLOAT,
cot_uf_origem CHAR(2),
cot_uf_destino CHAR(2),
mis_id INTEGER,
PRIMARY KEY (cot_id),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE CAMPANHA (
cam_id INTEGER NOT NULL,
cam_mes DATE,
cam_nom VARCHAR(18),
mar_id INTEGER,
PRIMARY KEY (cam_id),
FOREIGN KEY (mar_id)
REFERENCES MARKETING
);
CREATE TABLE AUDITORIA (
aud_codigo INTEGER NOT NULL,
aud_danos VARCHAR(18),
aud_atent VARCHAR(18),
aud_atcol VARCHAR(18),
aud_sin VARCHAR(18),
rch_codigo VARCHAR(18),
aud_sat VARCHAR(18),
PRIMARY KEY (aud_codigo),
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE PRODUTO (
pro_codigo NUMERIC(5) NOT NULL,
pro_nome VARCHAR(50) NOT NULL,
pro_unid_med VARCHAR(50) NOT NULL,
pro_tipo INTEGER,
PRIMARY KEY (pro_codigo)
);
CREATE TABLE CARGA (
crg_codigo INTEGER NOT NULL,
crg_data DATE,
crg_responsavel VARCHAR(50),
rcf_codigo INTEGER,
PRIMARY KEY (crg_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE ITEM_CARGA (
itc_item NUMERIC(8) NOT NULL,
crg_codigo INTEGER NOT NULL,
itc_qtde NUMERIC(8,3),
itc_valor_unit NUMERIC(10,2),
pro_codigo NUMERIC(5),
PRIMARY KEY (itc_item, crg_codigo),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (crg_codigo)
REFERENCES CARGA
);
CREATE TABLE DOACAO (
doa_numero NUMERIC(8) NOT NULL,
doa_data DATE NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
doa_qtde NUMERIC(8,3) NOT NULL,
doa_motivo VARCHAR(100) NOT NULL,
PRIMARY KEY (doa_numero),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO
);
CREATE TABLE PERDA (
per_numero NUMERIC(8) NOT NULL,
per_data DATE NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
per_qtde NUMERIC(8,3) NOT NULL,
per_motivo VARCHAR(100) NOT NULL,
PRIMARY KEY (per_numero),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO
);
CREATE TABLE DESCARGA (
dsc_codigo NUMERIC(8) NOT NULL,
dsc_data DATE NOT NULL,
dsc_responsavel VARCHAR(50) NOT NULL,
rcf_codigo INTEGER,
PRIMARY KEY (dsc_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE ITEM_DESCARGA (
dsc_codigo NUMERIC(8) NOT NULL,
idc_item NUMERIC(2) NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
idc_qtde NUMERIC(8,3) NOT NULL,
idc_valor_unit NUMERIC(10,2) NOT NULL,
PRIMARY KEY (dsc_codigo, idc_item),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (dsc_codigo)
REFERENCES DESCARGA
);
CREATE TABLE RECEBIMENTO (
rec_numero NUMERIC(6) NOT NULL,
rec_data DATE NOT NULL,
rec_fornecedor VARCHAR(50) NOT NULL,
rec_recebedor VARCHAR(50) NOT NULL,
PRIMARY KEY (rec_numero)
);
CREATE TABLE ITEM_RECEBIMENTO (
rec_numero NUMERIC(6) NOT NULL,
itr_item NUMERIC(2) NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
itr_qtde NUMERIC(8,3) NOT NULL,
itr_obs VARCHAR(100),
PRIMARY KEY (rec_numero, itr_item),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (rec_numero)
REFERENCES RECEBIMENTO
);
CREATE TABLE DEVOLUCAO (
dev_numero NUMERIC(6) NOT NULL,
dev_data DATE NOT NULL,
dev_devolvedor VARCHAR(50) NOT NULL,
dev_recebedor VARCHAR(50) NOT NULL,
PRIMARY KEY (dev_numero)
);
CREATE TABLE ITEM_DEVOLUCAO (
dev_numero NUMERIC(6) NOT NULL,
itd_item NUMERIC(2) NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
itd_qtde NUMERIC(8,3) NOT NULL,
itd_obs VARCHAR(100),
PRIMARY KEY (dev_numero, itd_item),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (dev_numero)
REFERENCES DEVOLUCAO
);
CREATE TABLE PEDIDO (
ped_cod NUMERIC(5) NOT NULL,
ped_und_org VARCHAR(20) NOT NULL,
ped_dt_sai DATE NOT NULL,
ped_rota_merc VARCHAR(30) NOT NULL,
ped_loc_vol VARCHAR(30) NOT NULL,
ped_dt_lib DATE NOT NULL,
rcf_codigo INTEGER,
PRIMARY KEY (ped_cod),
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE ITEM_PEDIDO (
ped_cod NUMERIC(5) NOT NULL,
itm_cod NUMERIC(2) NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
itm_qtde NUMERIC(8,3) NOT NULL,
itm_und_dest VARCHAR(30) NOT NULL,
itm_dt_cheg DATE,
PRIMARY KEY (ped_cod, itm_cod),
FOREIGN KEY (ped_cod)
REFERENCES PEDIDO,
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO
);
CREATE TABLE PALETE (
pal_codigo VARCHAR(2) NOT NULL,
pal_tipo VARCHAR(30) NOT NULL,
pal_comprimento_pes NUMERIC(3) NOT NULL,
pal_localizacao VARCHAR(100) NOT NULL,
pal_capacidade_m3 NUMERIC(4,1) NOT NULL,
PRIMARY KEY (pal_codigo)
);
CREATE TABLE EXPEDICAO (
exp_codigo NUMERIC(5) NOT NULL,
pal_codigo VARCHAR(2) NOT NULL,
exp_dt_prevista DATE NOT NULL,
cli_codigo INTEGER,
exp_dt_expedicao DATE NOT NULL,
PRIMARY KEY (exp_codigo),
FOREIGN KEY (cli_codigo)
REFERENCES CLIENTE,
FOREIGN KEY (pal_codigo)
REFERENCES PALETE
);
CREATE TABLE PRIORIDADE_DESCARGA (
pri_des_cod NUMERIC(2) NOT NULL,
pri_des_grau VARCHAR(10) NOT NULL,
pri_des_descricao VARCHAR(50) NOT NULL,
PRIMARY KEY (pri_des_cod)
);
CREATE TABLE PATIO (
pat_codigo NUMERIC(2) NOT NULL,
pat_localizacao VARCHAR(20) NOT NULL,
pat_quantidade NUMERIC(3) NOT NULL,
PRIMARY KEY (pat_codigo)
);
CREATE TABLE PORTARIA (
por_numero NUMERIC(8) NOT NULL,
pat_codigo NUMERIC(2) NOT NULL,
pri_des_cod NUMERIC(2) NOT NULL,
por_entrada DATE NOT NULL,
por_saida DATE,
rcf_codigo INTEGER,
PRIMARY KEY (por_numero, pat_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO,
FOREIGN KEY (pat_codigo)
REFERENCES PATIO,
FOREIGN KEY (pri_des_cod)
REFERENCES PRIORIDADE_DESCARGA
);
CREATE TABLE ITEM_EXPEDICAO (
exp_codigo NUMERIC(5) NOT NULL,
ite_item NUMERIC(2) NOT NULL,
pro_codigo NUMERIC(5) NOT NULL,
ite_qtde NUMERIC(8,3) NOT NULL,
PRIMARY KEY (exp_codigo, ite_item),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (exp_codigo)
REFERENCES EXPEDICAO
);
CREATE TABLE CARGA_VIAGEM (
car_id INTEGER NOT NULL,
car_pos_veiculo INTEGER,
car_datahora_embarque DATE,
car_datahora_desembarque DATE,
mis_id INTEGER,
PRIMARY KEY (car_id),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE DEPOSITO (
dep_id INTEGER NOT NULL,
dep_nome VARCHAR(20) NOT NULL,
dep_desc VARCHAR(40),
PRIMARY KEY (dep_id)
);
CREATE TABLE LOCAL_DEPOSITO (
loc_id INTEGER NOT NULL,
loc_apto INTEGER NOT NULL,
dep_id INTEGER,
PRIMARY KEY (loc_id),
FOREIGN KEY (dep_id)
REFERENCES DEPOSITO
);
CREATE TABLE LOTE (
lot_id INTEGER NOT NULL,
lot_volume FLOAT NOT NULL,
lot_desc VARCHAR(20) NOT NULL,
loc_id INTEGER,
car_id INTEGER,
cli_codigo INTEGER,
PRIMARY KEY (lot_id),
FOREIGN KEY (cli_codigo)
REFERENCES CLIENTE,
FOREIGN KEY (car_id)
REFERENCES CARGA_VIAGEM,
FOREIGN KEY (loc_id)
REFERENCES LOCAL_DEPOSITO
);
CREATE TABLE QTDE_PROD (
qtd_id INTEGER NOT NULL,
pro_codigo NUMERIC(5),
qtd_qtde_prod INTEGER NOT NULL,
qtd_preco NUMERIC NOT NULL,
lot_id INTEGER,
PRIMARY KEY (qtd_id),
FOREIGN KEY (pro_codigo)
REFERENCES PRODUTO,
FOREIGN KEY (lot_id)
REFERENCES LOTE
);
CREATE TABLE HISTORICO (
his_id INTEGER NOT NULL,
his_assunto VARCHAR(30),
his_mensagem VARCHAR(60) NOT NULL,
his_datahora DATE NOT NULL,
his_tipo INTEGER NOT NULL,
mis_id INTEGER NOT NULL,
fun_id INTEGER NOT NULL,
PRIMARY KEY (his_id),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE CTRC (
ctr_num INTEGER NOT NULL,
mis_id INTEGER NOT NULL,
ctr_datahora DATE NOT NULL,
ctr_status INTEGER NOT NULL,
ctr_operador INTEGER NOT NULL,
crt_vr_fatura INTEGER,
con_dta_previsto_entrega DATE,
PRIMARY KEY (ctr_num),
FOREIGN KEY (mis_id)
REFERENCES MISSAO
);
CREATE TABLE FASPON (
pon_id INTEGER NOT NULL,
fas_id INTEGER NOT NULL,
rtr_sequencia INTEGER NOT NULL,
PRIMARY KEY (pon_id, fas_id),
FOREIGN KEY (fas_id)
REFERENCES FASE,
FOREIGN KEY (pon_id)
REFERENCES PONTO
);