alter table composicao add fracao numeric(15,4);
CREATE TABLE public.composicao_fornecedor
(
  id_composicao integer NOT NULL,
  id_empresa integer NOT NULL,
  id_fornecedor integer NOT NULL,
  codigo_fornecedor character varying(50) NOT NULL,
  CONSTRAINT pk_composicao_fornecedor PRIMARY KEY (id_composicao, id_empresa, id_fornecedor, codigo_fornecedor),
  CONSTRAINT fk_composicao_fornecedor_empresas FOREIGN KEY (id_empresa) REFERENCES public.empresas (emp_001) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT fk_composicao_fornecedor_fornecedor FOREIGN KEY (id_fornecedor, id_empresa) REFERENCES public.fornecedor (id_fornecedor, id_empresa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION, 
  CONSTRAINT fk_composicao_fornecedor_composicao FOREIGN KEY (id_composicao, id_empresa) REFERENCES public.composicao (id_composicao, id_empresa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.composicao_fornecedor
  OWNER TO postgres;