Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

/*========tur======================================================*/
/* DBMS name:      PostgreSQL 8                                 */
/* Criado em:     05/11/2014                                        */
/* Autor: Bruno Lopes Peixoto                                       */
/*==============================================================*/

/*==============================================================*/
/* User: sc_sec                                                 */
/*==============================================================*/
CREATE USER sc_sec unencrypted password 'sc_sec';

CREATE schema sc_sec AUTHORIZATION sc_sec;

SET search_path = sc_sec;

CREATE SEQUENCE sq_formapagament
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_formapagament owner TO sc_sec;

CREATE SEQUENCE sq_lancamento
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_lancamento owner TO sc_sec;

CREATE SEQUENCE sq_loja
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_loja owner TO sc_sec;

CREATE SEQUENCE sq_pagamento
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_pagamento owner TO sc_sec;

CREATE SEQUENCE sq_pedido
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_pedido owner TO sc_sec;

CREATE SEQUENCE sq_pendencia
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_pendencia owner TO sc_sec;

CREATE SEQUENCE sq_produto
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_produto owner TO sc_sec;

CREATE SEQUENCE sq_usuario
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_usuario owner TO sc_sec;

CREATE SEQUENCE sq_venda
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_venda owner TO sc_sec;

/*==============================================================*/
/* Table: sec_forma_pagamento                                   */
/*==============================================================*/
CREATE TABLE sec_forma_pagamento (
   seq_formapagament    INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_formapagament'::regclass),
   dsc_formapagament    VARCHAR(120)         NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_formapagament PRIMARY KEY (seq_formapagament)
);

-- set table ownership
ALTER TABLE sec_forma_pagamento owner TO sc_sec
;
/*==============================================================*/
/* Table: sec_lancamento                                        */
/*==============================================================*/
CREATE TABLE sec_lancamento (
   seq_lancamento       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_lancamento'::regclass),
   seq_venda            INT4                 NOT NULL,
   cod_produto          VARCHAR(20)          NULL,
   dsc_produto          VARCHAR(120)         NULL,
   dsc_categoria        VARCHAR(120)         NULL,
   val_compra           NUMERIC(10,2)        NULL,
   val_varejo           NUMERIC(10,2)        NULL,
   val_venda            NUMERIC(10,2)        NULL,
   dsc_observacao       VARCHAR(120)         NULL,
   ind_retirado_face    BOOL                 NOT NULL,
   ind_retirado_site    BOOL                 NOT NULL,
   ind_avaria           BOOL                 NOT NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_lancamento PRIMARY KEY (seq_lancamento)
);

-- set table ownership
ALTER TABLE sec_lancamento owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_lancamento_venda                                   */
/*==============================================================*/
CREATE  INDEX ix_lancamento_venda ON sec_lancamento (
seq_venda
);

/*==============================================================*/
/* Table: sec_loja                                              */
/*==============================================================*/
CREATE TABLE sec_loja (
   seq_loja             INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_loja'::regclass),
   dsc_loja             VARCHAR(120)         NULL,
   CONSTRAINT pk_loja PRIMARY KEY (seq_loja)
);

-- set table ownership
ALTER TABLE sec_loja owner TO sc_sec
;
/*==============================================================*/
/* Table: sec_pagamento                                         */
/*==============================================================*/
CREATE TABLE sec_pagamento (
   seq_pagamento        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pagamento'::regclass),
   seq_loja             INT4                 NOT NULL,
   dsc_pagamento        VARCHAR(120)         NULL,
   val_pagamento        NUMERIC(10,2)        NULL,
   dat_pagamento        DATE                 NOT NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_pagamento PRIMARY KEY (seq_pagamento)
);

-- set table ownership
ALTER TABLE sec_pagamento owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_pagamento_loja                                     */
/*==============================================================*/
CREATE  INDEX ix_pagamento_loja ON sec_pagamento (
seq_loja
);

/*==============================================================*/
/* Table: sec_pedido                                            */
/*==============================================================*/
CREATE TABLE sec_pedido (
   seq_pedido           INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pedido'::regclass),
   dsc_produto          VARCHAR(120)         NULL,
   dat_pedido           DATE                 NULL,
   dsc_nome_cliente     VARCHAR(120)         NULL,
   dsc_contato          VARCHAR(120)         NULL,
   dsc_telefone         VARCHAR(20)          NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_pedido PRIMARY KEY (seq_pedido)
);

-- set table ownership
ALTER TABLE sec_pedido owner TO sc_sec
;
/*==============================================================*/
/* Table: sec_pendencia                                         */
/*==============================================================*/
CREATE TABLE sec_pendencia (
   seq_pendencia        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pendencia'::regclass),
   seq_loja             INT4                 NOT NULL,
   dsc_pendencia        VARCHAR(120)         NULL,
   ind_finalizado       BOOL                 NOT NULL,
   dat_pendencia        DATE                 NOT NULL,
   CONSTRAINT pk_pendencia PRIMARY KEY (seq_pendencia)
);

-- set table ownership
ALTER TABLE sec_pendencia owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_pendencia_loja                                     */
/*==============================================================*/
CREATE  INDEX ix_pendencia_loja ON sec_pendencia (
seq_loja
);

/*==============================================================*/
/* Table: sec_produto                                           */
/*==============================================================*/
CREATE TABLE sec_produto (
   seq_produto          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_produto'::regclass),
   cod_produto          VARCHAR(20)          NULL,
   dsc_produto          VARCHAR(120)         NULL,
   dsc_categoria        VARCHAR(120)         NULL,
   val_compra           NUMERIC(10,2)        NULL,
   val_varejo           NUMERIC(10,2)        NULL,
   qtd_estoque          NUMERIC(5)           NULL,
   CONSTRAINT pk_produto PRIMARY KEY (seq_produto)
);

-- set table ownership
ALTER TABLE sec_produto owner TO sc_sec
;

/*==============================================================*/
/* Table: sec_usuario                                           */
/*==============================================================*/
CREATE TABLE sec_usuario (
   seq_usuario          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_usuario'::regclass),
   dsc_nome             VARCHAR(120)         NULL,
   dsc_login            VARCHAR(32)          NOT NULL,
   dsc_senha            VARCHAR(32)          NOT NULL,
   ind_admin            BOOL                 NOT NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_usuario PRIMARY KEY (seq_usuario)
);

-- set table ownership
ALTER TABLE sec_usuario owner TO sc_sec
;

/*==============================================================*/
/* Table: sec_venda                                             */
/*==============================================================*/
CREATE TABLE sec_venda (
   seq_venda            INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_venda'::regclass),
   seq_loja             INT4                 NOT NULL,
   seq_usuario          INT4                 NOT NULL,
   dth_venda            TIMESTAMP WITH TIME ZONE NOT NULL,
   dsc_observacao       VARCHAR(120)         NULL,
   tip_situacao         CHAR(1)              NOT NULL
      CONSTRAINT ck_venda_situacao CHECK (tip_situacao IN ('N','C','R','A','F','P')),
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_venda PRIMARY KEY (seq_venda)
);

comment ON COLUMN sec_venda.tip_situacao IS
'Valores possíveis:
N - NOVO
C - CONFERIDO
R - À RECEBER
A - AGUARDANDO CARTÃO
F - FINALIZADO
P - COM PENDÊNCIAS'
;

-- set table ownership
ALTER TABLE sec_venda owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_venda_loja                                         */
/*==============================================================*/
CREATE  INDEX ix_venda_loja ON sec_venda (
seq_loja
);

/*==============================================================*/
/* Index: ix_venda_usuario                                      */
/*==============================================================*/
CREATE  INDEX ix_venda_usuario ON sec_venda (
seq_usuario
);

/*==============================================================*/
/* Table: sec_venda_formapagament                               */
/*==============================================================*/
CREATE TABLE sec_venda_formapagament (
   seq_venda            INT4                 NOT NULL,
   seq_formapagament    INT4                 NOT NULL,
   val_pagamento        NUMERIC(10,2)        NOT NULL,
   CONSTRAINT pk_vendaformapag PRIMARY KEY (seq_venda, seq_formapagament)
);

-- set table ownership
ALTER TABLE sec_venda_formapagament owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_vendaformapag                                      */
/*==============================================================*/
CREATE UNIQUE INDEX ix_vendaformapag ON sec_venda_formapagament (
        seq_venda,
        seq_formapagament
);

ALTER TABLE sec_lancamento
   ADD CONSTRAINT fk_lancamento_venda FOREIGN KEY (seq_venda)
      REFERENCES sec_venda (seq_venda);

ALTER TABLE sec_pagamento
   ADD CONSTRAINT fk_pagamento_loja FOREIGN KEY (seq_loja)
      REFERENCES sec_loja (seq_loja);

ALTER TABLE sec_pendencia
   ADD CONSTRAINT fk_pendencia_loja FOREIGN KEY (seq_loja)
      REFERENCES sec_loja (seq_loja);

ALTER TABLE sec_venda
   ADD CONSTRAINT fk_venda_loja FOREIGN KEY (seq_loja)
      REFERENCES sec_loja (seq_loja);

ALTER TABLE sec_venda
   ADD CONSTRAINT fk_venda_usuario FOREIGN KEY (seq_usuario)
      REFERENCES sec_usuario (seq_usuario);

ALTER TABLE sec_venda_formapagament
   ADD CONSTRAINT fk_vendaformapag_formapagament FOREIGN KEY (seq_formapagament)
      REFERENCES sec_forma_pagamento (seq_formapagament);

ALTER TABLE sec_venda_formapagament
   ADD CONSTRAINT fk_vendaformapag_venda FOREIGN KEY (seq_venda)
      REFERENCES sec_venda (seq_venda);

         
SET search_path = public;