Rev 777 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
/*==============================================================*/
/* DBMS name: PostgreSQL 8 */
/* Criado em: 22/11/2025 */
/* Autor: Bruno Lopes Peixoto */
/*==============================================================*/
SET search_path = sc_slp;
CREATE SEQUENCE sq_pessoa
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
/*==============================================================*/
/* Table: slp_pessoa */
/*==============================================================*/
CREATE TABLE slp_pessoa (
seq_pessoa INT8 NOT NULL DEFAULT NEXTVAL('sc_slp.sq_pessoa'::regclass),
dsc_nome VARCHAR(120) NOT NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_pessoa PRIMARY KEY (seq_pessoa)
);
-- set table ownership
ALTER TABLE slp_pessoa owner TO sc_slp
;
/*==============================================================*/
/* Index: ix_pessoa */
/*==============================================================*/
CREATE UNIQUE INDEX ix_pessoa ON slp_pessoa (
seq_pessoa
);
CREATE SEQUENCE sq_usuario
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
/*==============================================================*/
/* Table: slp_usuario */
/*==============================================================*/
CREATE TABLE slp_usuario (
seq_usuario INT8 NOT NULL DEFAULT NEXTVAL('sc_slp.sq_usuario'::regclass),
seq_pessoa INT8 NULL,
dsc_login VARCHAR(32) NOT NULL,
dsc_nome VARCHAR(120) NULL,
dsc_senha VARCHAR(32) NOT NULL,
dth_ultimo_acesso TIMESTAMP NULL,
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_usuario PRIMARY KEY (seq_usuario)
);
-- set table ownership
ALTER TABLE slp_usuario owner TO labse_sc_lse
;
/*==============================================================*/
/* Index: ix_usuario */
/*==============================================================*/
CREATE UNIQUE INDEX ix_usuario ON slp_usuario (
seq_usuario
);
/*==============================================================*/
/* Index: ix_usuario_pessoa */
/*==============================================================*/
CREATE INDEX ix_usuario_pessoa ON slp_usuario (
seq_pessoa
);
CREATE SEQUENCE sq_ativo
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
/*==============================================================*/
/* Table: slp_ativo */
/*==============================================================*/
CREATE TABLE slp_ativo (
seq_ativo INT8 NOT NULL DEFAULT NEXTVAL('sc_slp.sq_ativo'::regclass),
dsc_ativo VARCHAR(120) NULL,
tip_tendencia CHAR(1) NOT NULL
CONSTRAINT ck_tendencia_ativo CHECK (tip_tendencia IN ('A','B','N')),
ind_ativo BOOL NOT NULL,
CONSTRAINT pk_ativo PRIMARY KEY (seq_ativo)
);
comment ON COLUMN slp_ativo.tip_tendencia IS
'Valores possíveis:
A - Alta
B - Baixa
N - Não Definida';
-- set table ownership
ALTER TABLE slp_ativo owner TO sc_slp
;
/*==============================================================*/
/* Index: ix_ativo */
/*==============================================================*/
CREATE UNIQUE INDEX ix_ativo ON slp_ativo (
seq_ativo
);
CREATE SEQUENCE sq_candle
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
/*==============================================================*/
/* Table: slp_candle */
/*==============================================================*/
CREATE TABLE slp_candle (
seq_candle INT8 NOT NULL DEFAULT NEXTVAL('sc_slp.sq_candle'::regclass),
seq_ativo INT8 NOT NULL,
val_contador INT8 NULL,
dth_datahora TIMESTAMP NOT NULL,
val_abertura NUMERIC(20,6) NOT NULL,
val_maxima NUMERIC(20,6) NOT NULL,
val_minima NUMERIC(20,6) NOT NULL,
val_fechamento NUMERIC(20,6) NOT NULL,
val_volume NUMERIC(20,6) NULL,
tip_periodo VARCHAR(2) NOT NULL,
ind_analisado BOOL NOT NULL,
CONSTRAINT pk_candle PRIMARY KEY (seq_candle)
);
-- set table ownership
ALTER TABLE slp_candle owner TO sc_slp
;
/*==============================================================*/
/* Index: ix_candle */
/*==============================================================*/
CREATE UNIQUE INDEX ix_candle ON slp_candle (
seq_candle
);
/*==============================================================*/
/* Index: ix_candle_ativo */
/*==============================================================*/
CREATE INDEX ix_candle_ativo ON slp_candle (
seq_ativo
);
ALTER TABLE slp_candle
ADD CONSTRAINT fk_candleativo_candle FOREIGN KEY (seq_ativo)
REFERENCES slp_ativo (seq_ativo)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: slp_sinal */
/*==============================================================*/
CREATE TABLE slp_sinal (
cod_sinal VARCHAR(30) NOT NULL,
seq_candleref INT8 NOT NULL,
seq_candleg1 INT8 NULL,
seq_candleg2 INT8 NULL,
seq_candleg3 INT8 NULL,
seq_candleg4 INT8 NULL,
dth_sinal DATE NOT NULL,
tip_sinal CHAR(1) NOT NULL,
tip_situacao_sinal CHAR(1) NOT NULL,
val_entrada2 NUMERIC(10,2) NULL,
val_alvo1 NUMERIC(10,2) NULL,
val_entrada1 NUMERIC(10,2) NULL,
val_alvo2 NUMERIC(10,2) NULL,
val_stop1 NUMERIC(10,2) NULL,
val_stop2 NUMERIC(10,2) NULL,
CONSTRAINT pk_sinal PRIMARY KEY (cod_sinal)
);
-- set table ownership
ALTER TABLE slp_sinal owner TO sc_slp
;
ALTER TABLE slp_sinal
ADD CONSTRAINT fk_sinal_candleg1 FOREIGN KEY (seq_candleg1)
REFERENCES slp_candle (seq_candle)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE slp_sinal
ADD CONSTRAINT fk_sinal_candleg2 FOREIGN KEY (seq_candleg2)
REFERENCES slp_candle (seq_candle)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE slp_sinal
ADD CONSTRAINT fk_sinal_candleg3 FOREIGN KEY (seq_candleg3)
REFERENCES slp_candle (seq_candle)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE slp_sinal
ADD CONSTRAINT fk_sinal_candleg4 FOREIGN KEY (seq_candleg4)
REFERENCES slp_candle (seq_candle)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE slp_sinal
ADD CONSTRAINT fk_sinal_candleref FOREIGN KEY (seq_candleref)
REFERENCES slp_candle (seq_candle)
ON DELETE RESTRICT ON UPDATE RESTRICT;
SET search_path = public;
-- PERMISSÕES
GRANT USAGE ON SCHEMA sc_slp TO sc_slp;
GRANT SELECT, INSERT, UPDATE, DELETE
ON ALL TABLES IN SCHEMA sc_slp
TO sc_slp;
ALTER DEFAULT PRIVILEGES IN SCHEMA sc_slp
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO sc_slp;