CREATE TABLE produto_embalagens (
    id                       bigint NOT NULL,
    produto_id               bigint NOT NULL,
    embalagem_id             bigint NOT NULL,
    codigo_barras            bigint NOT NULL,
    quantidade_por_embalagem NUMBER(15, 2) NOT NULL,
    unidade_med_qtd_id       bigint,
    comprimento              NUMBER(15, 2) NOT NULL,
    largura                  NUMBER(15, 2) NOT NULL,
    altura                   NUMBER(15, 2) NOT NULL,
    volume                   NUMBER(15, 2) NOT NULL,
    unidade_med_dimensao_id  bigint,
    peso                     NUMBER(15, 2) NOT NULL,
    unidade_med_peso_id      bigint,
    situacao                 SMALLINT DEFAULT 1
);

COMMENT ON COLUMN produto_embalagens.quantidade_por_embalagem IS
    'Quantidade por embalagem';

COMMENT ON COLUMN produto_embalagens.unidade_med_qtd_id IS
    'Unidade de medida da quantidade por embalagem	';

COMMENT ON COLUMN produto_embalagens.comprimento IS
    'comprimento interno em milímetros';

COMMENT ON COLUMN produto_embalagens.largura IS
    'largura';

COMMENT ON COLUMN produto_embalagens.altura IS
    'Altura';

COMMENT ON COLUMN produto_embalagens.volume IS
    'Volume em M3';

COMMENT ON COLUMN produto_embalagens.unidade_med_dimensao_id IS
    'Unidade de medida das dimenssões';

COMMENT ON COLUMN produto_embalagens.peso IS
    'Peso da embalagem';

COMMENT ON COLUMN produto_embalagens.unidade_med_peso_id IS
    'Unidade de medida do peso da embalagem	';

CREATE INDEX produto_embalagens_codbarras ON
    produto_embalagens (
        codigo_barras
    ASC );
CREATE UNIQUE INDEX produto_embalagens_prod_emb_sit ON produto_embalagens 
    ( ( produto_id,
                                                                              embalagem_id,
                                                                              situacao ) 
where situacao = 1
    ) 
;