CREATE TABLE public.controle_despesas_operacionais (
  chave_despesa_operacional INTEGER NOT NULL,
  data DATE NOT NULL,
  chave_operacao INTEGER,
  chave_categoria INTEGER,
  chave_subcategoria INTEGER,
  numero_documento INTEGER,
  chave_forma_pagamento INTEGER,
  chave_veiculo INTEGER,
  chave_funcionario INTEGER,
  chave_fornecedor INTEGER,
  observacoes VARCHAR(4000),
  valor NUMERIC(15,2),
  CONSTRAINT controle_despesas_operacionais_pkey PRIMARY KEY(chave_despesa_operacional)
) 
WITH (oids = false);

ALTER TABLE public.controle_despesas_operacionais
  ALTER COLUMN chave_categoria SET STATISTICS 0;

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_despesa_operacional
IS 'Chave da tabela';

COMMENT ON COLUMN public.controle_despesas_operacionais.data
IS 'Data do lançamento';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_operacao
IS 'Código da operação';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_categoria
IS 'Código da categoria';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_subcategoria
IS 'Código da subcategoria';

COMMENT ON COLUMN public.controle_despesas_operacionais.numero_documento
IS 'Número do documento de identificação';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_forma_pagamento
IS 'Código da forma de pagamento';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_veiculo
IS 'Código do veículo';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_funcionario
IS 'Código do funcionário';

COMMENT ON COLUMN public.controle_despesas_operacionais.chave_fornecedor
IS 'Código do fornecedor';

COMMENT ON COLUMN public.controle_despesas_operacionais.observacoes
IS 'Observações sobre o lançamento';

COMMENT ON COLUMN public.controle_despesas_operacionais.valor
IS 'Valor total do lançamento';

CREATE INDEX controle_despesas_operacionais_idx_1 ON public.controle_despesas_operacionais
  USING btree (data);

CREATE INDEX controle_despesas_operacionais_idx_2 ON public.controle_despesas_operacionais
  USING btree (chave_veiculo, data);