CREATE TABLE
FORNECEDOR_RF (
for_cnpj VARCHAR(20) NOT NULL,
for_nome VARCHAR(50) NOT NULL,
for_endereco VARCHAR(50) NOT NULL,
for_contato VARCHAR(20),
for_tipo VARCHAR(30),
PRIMARY KEY (for_cnpj)
);
CREATE TABLE
CONTRATO (
ctt_codigo INTEGER NOT NULL,
CTT_DATA DATE,
CTT_DURACAO DATE,
CTT_VALOR
INTEGER,
CTT_DESCR VARCHAR(255),
PRIMARY KEY (ctt_codigo)
);
CREATE TABLE
CONTRATO_FORNECEDOR (
ctt_codigo INTEGER NOT NULL,
for_cnpj VARCHAR(20) NOT NULL,
cof_observacao VARCHAR(50),
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (for_cnpj)
REFERENCES FORNECEDOR_RF,
FOREIGN KEY
(ctt_codigo)
REFERENCES
CONTRATO
);
CREATE TABLE
LOCAL_APOIO (
loa_codigo INTEGER NOT NULL,
loa_nome VARCHAR(50) NOT NULL,
loa_cidade VARCHAR(40) NOT NULL,
loa_gerente VARCHAR(40) NOT NULL,
PRIMARY KEY (loa_codigo)
);
CREATE TABLE
RECURSO_FISICO (
rcf_codigo INTEGER NOT NULL,
rcf_descricao VARCHAR(50) NOT NULL,
rcf_tipo VARCHAR(50),
loa_codigo
INTEGER NOT NULL,
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (loa_codigo)
REFERENCES LOCAL_APOIO
);
CREATE TABLE
RF_COMPRADO (
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
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
ESPEC (
esp_modelo VARCHAR(50) NOT NULL,
esp_dimensoes VARCHAR(50),
esp_fabricante VARCHAR(50),
esp_tipo VARCHAR(50),
esp_capacidade INTEGER,
PRIMARY KEY (esp_modelo)
);
CREATE
TABLE RECURSO_PERMANETE (
rcf_codigo INTEGER NOT NULL,
rpe_patrimonio VARCHAR(20),
rpe_utilidade VARCHAR(30),
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(50),
vei_chassis
VARCHAR(50),
esp_modelo VARCHAR(50) NOT NULL,
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (esp_modelo)
REFERENCES ESPEC,
FOREIGN KEY (rcf_codigo)
REFERENCES
RECURSO_PERMANETE
);
CREATE TABLE
PLANEJAMENTO (
pla_numero INTEGER NOT NULL,
pla_kmproximo INTEGER,
pla_quantidade INTEGER,
rcf_codigo INTEGER NOT NULL,
tip_codigo CHAR(18) NOT NULL,
PRIMARY KEY (pla_numero),
FOREIGN KEY (tip_codigo)
REFERENCES
TIPOCUSTO,
FOREIGN KEY (rcf_codigo)
REFERENCES VEICULO
);
CREATE TABLE EQUIPAMENTO (
rcf_codigo INTEGER NOT NULL,
equ_estado_conservacao VARCHAR(50),
equ_observacao VARCHAR(50),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_PERMANETE
);
CREATE TABLE
BANCO (
ban_cod:_NUMBER INTEGER NOT NULL,
ban_descr VARCHAR(50),
PRIMARY KEY (ban_cod:_NUMBER)
);
CREATE TABLE
AGENCIA (
age_cod:_NUMBER INTEGER NOT NULL,
ban_cod:_NUMBER INTEGER NOT NULL,
age_descr:_VARCHAR_50 VARCHAR(50),
age_numconta:_NUMBER INTEGER,
PRIMARY KEY (age_cod:_NUMBER),
FOREIGN KEY (ban_cod:_NUMBER)
REFERENCES BANCO
);
CREATE TABLE
RH (
rch_codigo VARCHAR(18) NOT NULL,
rch_nome VARCHAR(50) NOT NULL,
rch_endereco VARCHAR(50),
rch_adm DATE,
rch_documentacao VARCHAR(20),
loa_codigo INTEGER NOT NULL,
rch_cargo VARCHAR(30) NOT NULL,
PRIMARY KEY (rch_codigo),
FOREIGN KEY (loa_codigo)
REFERENCES LOCAL_APOIO
);
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:_NUMBER INTEGER NOT NULL,
PRIMARY KEY (rch_codigo, fop_data),
FOREIGN KEY (age_cod:_NUMBER)
REFERENCES
AGENCIA,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE
MERCADORIA (
MER_COD INTEGER NOT NULL,
MER_DESCRICAO VARCHAR(30),
mer_peso
NUMERIC,
PRIMARY KEY (MER_COD)
);
CREATE TABLE
SOLICITACAO (
SOL_COD INTEGER NOT NULL,
SOL_DESCR VARCHAR(50),
SOL_CARGESP
VARCHAR(1),
SOL_DESCARGA
VARCHAR(1),
SOL_TXURG
NUMERIC,
SOL_KM
NUMERIC,
SOL_PESODIM
NUMERIC,
PRIMARY KEY
(SOL_COD)
);
CREATE TABLE
CLIENTE (
CLI_COD INTEGER NOT NULL,
CLI_NOME VARCHAR(50),
CLI_END VARCHAR(50),
CLI_DOC VARCHAR(50),
PRIMARY KEY (CLI_COD)
);
CREATE TABLE
SOL_CLI (
CLI_COD INTEGER NOT NULL,
SOL_COD INTEGER NOT NULL,
scl_data DATE,
PRIMARY KEY (CLI_COD, SOL_COD),
FOREIGN KEY (SOL_COD)
REFERENCES
SOLICITACAO,
FOREIGN KEY (CLI_COD)
REFERENCES
CLIENTE
);
CREATE TABLE
CONTRATO_CLIENTE (
ctt_codigo INTEGER NOT NULL,
CLI_COD INTEGER NOT NULL,
SOL_COD INTEGER NOT
NULL,
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (CLI_COD, SOL_COD)
REFERENCES SOL_CLI,
FOREIGN KEY
(ctt_codigo)
REFERENCES CONTRATO
);
CREATE TABLE MISSAO (
mis_codigo
CHAR(18) NOT NULL,
mis_tempo
CHAR(18),
mis_data_fim
DATE,
mis_custo_km
CHAR(18),
mis_destino
CHAR(18),
ctt_codigo
INTEGER NOT NULL,
MER_COD
INTEGER NOT NULL,
PRIMARY KEY (mis_codigo),
FOREIGN KEY
(MER_COD)
REFERENCES
MERCADORIA,
FOREIGN KEY (ctt_codigo)
REFERENCES
CONTRATO_CLIENTE
);
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_status VARCHAR(50)
NOT NULL,
mis_codigo CHAR(18) NOT NULL,
PRIMARY KEY (atd_codigo),
FOREIGN KEY (mis_codigo)
REFERENCES MISSAO
);
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
RH_ATENDIMENTO (
atd_codigo INTEGER NOT NULL,
rch_codigo VARCHAR(18) NOT NULL,
rha_tarefa VARCHAR(40) NOT NULL,
rca_desempenho VARCHAR(30),
PRIMARY KEY
(atd_codigo, rch_codigo),
FOREIGN KEY (rch_codigo)
REFERENCES RH,
FOREIGN KEY (atd_codigo)
REFERENCES
ATENDIMENTO
);
CREATE TABLE
TIPO_QUALIFICACAO (
tqu_codigo VARCHAR(18) NOT NULL,
tqu_area VARCHAR(20) NOT NULL,
tqu_nivel VARCHAR(20),
PRIMARY KEY (tqu_codigo)
);
CREATE TABLE
QUALIFICACAO (
rch_codigo VARCHAR(18) NOT NULL,
tqu_codigo VARCHAR(18) NOT NULL,
qua_local
VARCHAR(50) NOT NULL,
qua_periodo VARCHAR(20),
PRIMARY KEY (rch_codigo, tqu_codigo),
FOREIGN KEY (tqu_codigo)
REFERENCES
TIPO_QUALIFICACAO,
FOREIGN KEY (rch_codigo)
REFERENCES RH
);
CREATE TABLE
TREINAMENTO (
ctt_codigo INTEGER NOT NULL,
tre_descricao VARCHAR(50) NOT NULL,
tre_pre_requisito VARCHAR(30),
tre_validade VARCHAR(20),
tre_valor CHAR(18),
PRIMARY KEY (ctt_codigo),
FOREIGN KEY (ctt_codigo)
REFERENCES CONTRATO_FORNECEDOR
);
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
ORDEM_SERVICO (
ors_numero INTEGER NOT NULL,
ors_entrada DATE,
ors_execucao DATE,
mis_codigo CHAR(18) NOT NULL,
ors_descricao
VARCHAR(50),
PRIMARY KEY (ors_numero),
FOREIGN KEY (mis_codigo)
REFERENCES MISSAO
);
CREATE TABLE
RH_MISSAO (
rch_codigo VARCHAR(18) NOT NULL,
ors_numero INTEGER NOT NULL,
rhm_tarefa VARCHAR(40),
rhm_desempenho
VARCHAR(30),
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,
alo_quantidade INTEGER,
alo_km_saida
INTEGER,
alo_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
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
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 DOCUMENTO (
doc_num
INTEGER NOT NULL,
doc_ano_vigencia
INTEGER,
doc_vencimento
DATE,
doc_pagamento
VARCHAR(50),
doc_tipo VARCHAR(50),
rcf_codigo
INTEGER NOT NULL,
PRIMARY
KEY (doc_num),
FOREIGN KEY (rcf_codigo)
REFERENCES
VEICULO
);
CREATE TABLE
MOVIMENTACAO (
mov_cod:NUMBER INTEGER NOT NULL,
tit_num:_NUMBER INTEGER NOT NULL,
mov_data:_DATE DATE,
mov_instrucao:_VARCHAR_20
VARCHAR(20),
mov_valoremissao:_NUMBER MONEY,
mov_frequencia:_VARCHAR_10
VARCHAR(10),
mov_tipo VARCHAR(1),
PRIMARY KEY (mov_cod:NUMBER)
);
CREATE TABLE
MATERIAL_CONSUMO (
rcf_codigo INTEGER NOT NULL,
mtc_quantidade INTEGER,
mtc_observacao VARCHAR(50),
PRIMARY KEY (rcf_codigo),
FOREIGN KEY (rcf_codigo)
REFERENCES RECURSO_FISICO
);