Blame |
Last modification |
View Log
| Download
| RSS feed
/*========tur===================================================*/
/* DBMS name: PostgreSQL 8 */
/* Criado em: 21/08/2015 */
/* Autor: Bruno Lopes Peixoto */
/*==============================================================*/
SET search_path = sc_sec;
CREATE SEQUENCE sc_sec.sq_pessoa
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_pessoa owner TO sc_sec;
CREATE SEQUENCE sq_dadosbancarios
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_dadosbancarios owner TO sc_sec;
CREATE SEQUENCE sq_funcionario
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_funcionario owner TO sc_sec;
CREATE SEQUENCE sq_endereco
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_endereco owner TO sc_sec;
CREATE SEQUENCE sq_contabancaria
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_contabancaria owner TO sc_sec;
/*==============================================================*/
/* Table: sec_banco */
/*==============================================================*/
CREATE TABLE sec_banco (
cod_banco INT4 NOT NULL,
dsc_banco VARCHAR(120) NULL,
CONSTRAINT pk_banco PRIMARY KEY (cod_banco)
);
-- set table ownership
ALTER TABLE sec_banco owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_banco */
/*==============================================================*/
CREATE UNIQUE INDEX ix_banco ON sec_banco (
cod_banco
);
/*==============================================================*/
/* Table: sec_pessoa */
/*==============================================================*/
CREATE TABLE sec_pessoa (
seq_pessoa INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pessoa'::regclass),
dsc_nome VARCHAR(120) NOT NULL,
tip_sexo CHAR(1) NULL
CONSTRAINT ck_pessoa_sexo CHECK (tip_sexo IS NULL OR (tip_sexo IN ('F','M'))),
dsc_cpf_cnpj VARCHAR(20) NULL,
dsc_email VARCHAR(120) NULL,
dsc_telefone VARCHAR(11) NULL,
dsc_observacao VARCHAR(240) NULL,
dat_nascimento DATE NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_pessoa PRIMARY KEY (seq_pessoa)
);
comment ON COLUMN sec_pessoa.tip_sexo IS
'Valores possíveis:
F - FEMININO
M - MASCULINO';
-- set table ownership
ALTER TABLE sec_pessoa owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_pessoa */
/*==============================================================*/
CREATE UNIQUE INDEX ix_pessoa ON sec_pessoa (
seq_pessoa
);
/*==============================================================*/
/* Table: sec_dados_bancarios */
/*==============================================================*/
CREATE TABLE sec_dados_bancarios (
seq_dados_bancarios INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_dadosbancarios'::regclass),
cod_banco INT4 NULL,
seq_pessoa INT8 NOT NULL,
dsc_agencia VARCHAR(10) NULL,
dsc_agencia_digito VARCHAR(1) NULL,
dsc_operacao VARCHAR(3) NULL,
dsc_conta VARCHAR(15) NULL,
dsc_conta_digito VARCHAR(1) NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_dadosbancarios PRIMARY KEY (seq_dados_bancarios)
);
-- set table ownership
ALTER TABLE sec_dados_bancarios owner TO sc_sec
;
ALTER TABLE sec_dados_bancarios
ADD CONSTRAINT fk_dadosbancarios_banco FOREIGN KEY (cod_banco)
REFERENCES sec_banco (cod_banco)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_dados_bancarios
ADD CONSTRAINT fk_dadosbancarios_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_usuario ADD COLUMN seq_pessoa INT8;
/*==============================================================*/
/* Index: ix_usuario */
/*==============================================================*/
CREATE UNIQUE INDEX ix_usuario ON sec_usuario (
seq_usuario
);
/*==============================================================*/
/* Index: ix_usuario_pessoa */
/*==============================================================*/
CREATE INDEX ix_usuario_pessoa ON sec_usuario (
seq_pessoa
);
ALTER TABLE sec_usuario
ADD CONSTRAINT fk_usuario_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_funcionario */
/*==============================================================*/
CREATE TABLE sec_funcionario (
seq_funcionario INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_funcionario'::regclass),
seq_pessoa INT8 NULL,
dat_admissao DATE NULL,
dat_demissao DATE NULL,
dsc_ctps VARCHAR(30) NULL,
val_salario NUMERIC(10,2) NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_funcionario PRIMARY KEY (seq_funcionario)
);
-- set table ownership
ALTER TABLE sec_funcionario owner TO sc_sec
;
ALTER TABLE sec_funcionario
ADD CONSTRAINT fk_funcionario_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_endereco */
/*==============================================================*/
CREATE TABLE sec_endereco (
seq_endereco INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_endereco'::regclass),
dsc_cep VARCHAR(8) NULL,
dsc_logradouro VARCHAR(200) NULL,
dsc_numero VARCHAR(6) NULL,
dsc_bairro VARCHAR(120) NULL,
dsc_complemento VARCHAR(200) NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_endereco PRIMARY KEY (seq_endereco)
);
-- set table ownership
ALTER TABLE sec_endereco owner TO sc_sec
;
ALTER TABLE sec_endereco ADD COLUMN seq_pessoa INT8 NOT NULL;
ALTER TABLE sec_endereco
ADD CONSTRAINT fk_endereco_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_produto_loja */
/*==============================================================*/
CREATE TABLE sec_produto_loja (
seq_loja INT8 NOT NULL,
seq_produto INT8 NOT NULL,
qtd_estoque INT8 NULL,
dat_contagem DATE NULL,
qtd_estoque_minimo INT8 NULL,
CONSTRAINT pk_produtoloja PRIMARY KEY (seq_loja, seq_produto)
);
-- set table ownership
ALTER TABLE sec_produto_loja owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_produtoloja */
/*==============================================================*/
CREATE UNIQUE INDEX ix_produtoloja ON sec_produto_loja (
seq_loja,
seq_produto
);
ALTER TABLE sec_produto_loja
ADD CONSTRAINT fk_produtoloja_loja FOREIGN KEY (seq_loja)
REFERENCES sec_loja (seq_loja)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_produto_loja
ADD CONSTRAINT fk_produtoloja_produto FOREIGN KEY (seq_produto)
REFERENCES sec_produto (seq_produto)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sq_usuarioperfil owner TO sc_sec;
INSERT INTO sec_perfil VALUES (6, 'GERENTE DE RECURSOS HUMANOS');
ALTER TABLE sec_vendedor ADD COLUMN seq_pessoa INT8 NULL;
ALTER TABLE sec_vendedor
ADD CONSTRAINT fk_vendedor_funcionario FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_marca ALTER COLUMN dsc_marca SET NOT NULL;
ALTER TABLE sec_modelo ALTER COLUMN dsc_modelo SET NOT NULL;
ALTER TABLE sec_modelo ALTER COLUMN dsc_tecnica SET NOT NULL;
ALTER TABLE sec_modelo ALTER COLUMN dsc_etiqueta SET NOT NULL;
ALTER TABLE sec_loja ADD COLUMN val_meta_mensal NUMERIC(12,2) NULL;
UPDATE sec_loja SET val_meta_mensal = 0;
ALTER TABLE sec_loja ALTER COLUMN val_meta_mensal SET NOT NULL;
ALTER TABLE sec_loja ADD COLUMN ind_ativo BOOLEAN NULL;
UPDATE sec_loja SET ind_ativo = TRUE;
ALTER TABLE sec_loja ALTER COLUMN ind_ativo SET NOT NULL;
ALTER TABLE sec_loja ALTER COLUMN dsc_loja SET NOT NULL;
ALTER TABLE sec_forma_pagamento ADD COLUMN num_ordem INTEGER NULL;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 1 WHERE cod_formapagament = 1;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 2 WHERE cod_formapagament = 2;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 3 WHERE cod_formapagament = 3;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 4 WHERE cod_formapagament = 4;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 5 WHERE cod_formapagament = 5;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 6 WHERE cod_formapagament = 13;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 7 WHERE cod_formapagament = 6;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 8 WHERE cod_formapagament = 7;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 9 WHERE cod_formapagament = 8;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 10 WHERE cod_formapagament = 9;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 11 WHERE cod_formapagament = 10;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 12 WHERE cod_formapagament = 11;
UPDATE sc_sec.sec_forma_pagamento SET num_ordem = 13 WHERE cod_formapagament = 12;
ALTER TABLE sec_conta_bancaria DROP COLUMN val_saldo;
ALTER TABLE sec_conta_bancaria RENAME COLUMN cod_conta_bancaria TO seq_conta_bancaria;
ALTER TABLE sec_conta_bancaria ALTER COLUMN seq_conta_bancaria SET DEFAULT NEXTVAL('sc_sec.sq_contabancaria');
ALTER TABLE sec_conta_bancaria ALTER COLUMN dsc_descricao SET NOT NULL;
ALTER TABLE sec_taxa RENAME COLUMN cod_conta_bancaria TO seq_conta_bancaria;
DROP TABLE sec_cronograma;
DROP SEQUENCE sq_cronograma;
DROP TABLE sec_foto;
ALTER TABLE sec_responsavel ADD COLUMN seq_pessoa INT8 NULL;
ALTER TABLE sec_responsavel
ADD CONSTRAINT fk_responsavel_pessoa FOREIGN KEY (seq_pessoa)
REFERENCES sec_pessoa (seq_pessoa)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_cliente ADD COLUMN dsc_cpf VARCHAR(11);
ALTER TABLE sec_pedido DROP COLUMN dsc_nome_cliente;
ALTER TABLE sec_pedido DROP COLUMN dsc_contato;
ALTER TABLE sec_pedido DROP COLUMN dsc_telefone;
ALTER TABLE sec_pedido DROP COLUMN ind_ativo;
/*==============================================================*/
/* Table: sec_bandeira_cartao */
/*==============================================================*/
CREATE TABLE sec_bandeira_cartao (
cod_bandeira_cartao INT8 NOT NULL,
dsc_bandeira VARCHAR(122) NOT NULL,
tip_cartao CHAR(1) NOT NULL
CONSTRAINT ck_bandeira_cartao CHECK (tip_cartao IN ('D','C')),
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_bandeiracartao PRIMARY KEY (cod_bandeira_cartao)
);
-- set table ownership
ALTER TABLE sec_bandeira_cartao owner TO sc_sec
;
comment ON COLUMN sec_bandeira_cartao.tip_cartao IS
'Valores possíveis:
D - DÉBITO
C - CRÉDITO';
ALTER TABLE sec_venda_formapagament ADD COLUMN cod_bandeira_cartao INT8 NULL;
ALTER TABLE sec_venda_formapagament
ADD CONSTRAINT fk_vendaformapag_banderiacartao FOREIGN KEY (cod_bandeira_cartao)
REFERENCES sec_bandeira_cartao (cod_bandeira_cartao)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sc_sec.sec_bandeira_cartao */
/*==============================================================*/
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (1, 'OUTROS', 'D', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (2, 'OUTROS', 'C', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (3, 'MAESTRO', 'D', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (4, 'VISA ELECTRON', 'D', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (5, 'ELO', 'D', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (6, 'VISA', 'C', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (7, 'MASTERCARD', 'C', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (8, 'HIPERCARD', 'C', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (9, 'AMERICAN EXPRESS', 'C', TRUE);
INSERT INTO sec_bandeira_cartao(cod_bandeira_cartao, dsc_bandeira, tip_cartao, ind_ativo) VALUES (10, 'AVISTA', 'C', TRUE);
UPDATE sc_sec.sec_venda_formapagament SET cod_bandeira_cartao = 1 WHERE cod_formapagament = 2;
UPDATE sc_sec.sec_venda_formapagament SET cod_bandeira_cartao = 2 WHERE cod_formapagament IN (3,4,5,7,8,9,10,11,12,13);
INSERT INTO sc_sec.sec_produto_loja(seq_loja, seq_produto, qtd_estoque, dat_contagem, qtd_estoque_minimo) SELECT 1, seq_produto, qtd_estoque_loja, dat_contagem_loja, qtd_estoque_minimo_loja FROM sc_sec.sec_produto;
INSERT INTO sc_sec.sec_produto_loja(seq_loja, seq_produto, qtd_estoque, dat_contagem, qtd_estoque_minimo) SELECT 2, seq_produto, qtd_estoque_quiosque, dat_contagem_quiosque, qtd_estoque_minimo_quiosque FROM sc_sec.sec_produto;
INSERT INTO sc_sec.sec_produto_loja(seq_loja, seq_produto, qtd_estoque, dat_contagem, qtd_estoque_minimo) SELECT 3, seq_produto, qtd_estoque_quiosque_hiper, dat_contagem_quiosque_hiper, qtd_estoque_minimo_quiosque_hiper FROM sc_sec.sec_produto;
INSERT INTO sc_sec.sec_produto_loja(seq_loja, seq_produto, qtd_estoque, dat_contagem, qtd_estoque_minimo) SELECT 4, seq_produto, qtd_estoque_vivo, dat_contagem_vivo, qtd_estoque_minimo_vivo FROM sc_sec.sec_produto;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_loja;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_quiosque;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_quiosque_hiper;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_vivo;
ALTER TABLE sc_sec.sec_produto DROP COLUMN dat_contagem_loja;
ALTER TABLE sc_sec.sec_produto DROP COLUMN dat_contagem_quiosque;
ALTER TABLE sc_sec.sec_produto DROP COLUMN dat_contagem_quiosque_hiper;
ALTER TABLE sc_sec.sec_produto DROP COLUMN dat_contagem_vivo;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_minimo_loja;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_minimo_quiosque;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_minimo_quiosque_hiper;
ALTER TABLE sc_sec.sec_produto DROP COLUMN qtd_estoque_minimo_vivo;
ALTER TABLE sc_sec.sec_produto DROP COLUMN fotoprincipal;
ALTER TABLE sec_venda ADD COLUMN dsc_nota_fiscal VARCHAR(120) NULL;
CREATE SEQUENCE sq_aberturaloja
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_aberturaloja owner TO sc_sec;
/*==============================================================*/
/* Table: sec_abertura_loja */
/*==============================================================*/
CREATE TABLE sec_abertura_loja (
seq_abertura_loja INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_aberturaloja'::regclass),
seq_loja INT8 NOT NULL,
seq_usuario INT8 NOT NULL,
dth_abertura TIMESTAMP NOT NULL,
CONSTRAINT pk_aberturaloja PRIMARY KEY (seq_abertura_loja)
);
-- set table ownership
ALTER TABLE sec_abertura_loja owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_aberturaloja */
/*==============================================================*/
CREATE UNIQUE INDEX ix_aberturaloja ON sec_abertura_loja (
seq_abertura_loja
);
ALTER TABLE sec_abertura_loja
ADD CONSTRAINT fk_aberturaloja_loja FOREIGN KEY (seq_loja)
REFERENCES sec_loja (seq_loja)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_abertura_loja
ADD CONSTRAINT fk_aberturaloja_usuario FOREIGN KEY (seq_usuario)
REFERENCES sec_usuario (seq_usuario)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_estoque_auditoria ALTER COLUMN dth_atualizacao SET NOT NULL;
ALTER TABLE sec_estoque_auditoria DROP COLUMN ind_ativo;
DROP TABLE sec_solicitacao;
DROP SEQUENCE sq_solicitacao;
ALTER TABLE sec_pagamento ALTER COLUMN dsc_pagamento SET NOT NULL;
ALTER TABLE sec_venda DROP COLUMN ind_ativo;
ALTER TABLE sec_produto RENAME COLUMN ind_face TO ind_online;
ALTER TABLE sec_produto ADD COLUMN tip_produto CHAR(1) NULL CONSTRAINT ck_produto_tipo CHECK (tip_produto IN ('C','P'));
comment ON COLUMN sec_produto.tip_produto IS
'Valores possíveis:
C - Capa
P - Película';
UPDATE sc_sec.sec_produto SET tip_produto = 'C' WHERE UPPER(dsc_produto) NOT LIKE UPPER('Película%');
UPDATE sc_sec.sec_produto SET tip_produto = 'P' WHERE UPPER(dsc_produto) LIKE UPPER('Película%');
ALTER TABLE sec_produto ALTER COLUMN tip_produto SET NOT NULL;
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('BRUNO LOPES PEIXOTO', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('ADRIANO LOPES PEIXOTO', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('LEANDRO', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('CLOVIS HENRIQUE XAVIER', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('NATHAN', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('LUCAS', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('WALNEY', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('ARTHUR', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('ESPAÇO CASE', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('ATHYLA', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('ORION', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('GABRIEL', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('MICHAEL', 'M', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('JULIANA', 'F', TRUE);
INSERT INTO sec_pessoa (dsc_nome, tip_sexo, ind_ativo) VALUES ('VALÉRIA', 'F', TRUE);
UPDATE sc_sec.sec_usuario SET seq_pessoa = seq_usuario;
INSERT INTO sec_perfil(cod_perfil, dsc_perfil) VALUES (7, 'GERENTE DE COMPRAS');
SET search_path = public;