Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
/*========tur======================================================*/
2
/* DBMS name:      PostgreSQL 8                                 */
3
/* Criado em:     05/11/2014                                        */
4
/* Autor: Bruno Lopes Peixoto                                       */
5
/*==============================================================*/
6
 
7
/*==============================================================*/
8
/* User: sc_sec                                                 */
9
/*==============================================================*/
10
CREATE USER sc_sec unencrypted password 'sc_sec';
11
 
12
CREATE schema sc_sec AUTHORIZATION sc_sec;
13
 
14
SET search_path = sc_sec;
15
 
16
CREATE SEQUENCE sq_formapagament
17
INCREMENT 1
18
minvalue 1
19
maxvalue 99999999
20
START 1;
21
 
22
ALTER TABLE sq_formapagament owner TO sc_sec;
23
 
24
CREATE SEQUENCE sq_lancamento
25
INCREMENT 1
26
minvalue 1
27
maxvalue 99999999
28
START 1;
29
 
30
ALTER TABLE sq_lancamento owner TO sc_sec;
31
 
32
CREATE SEQUENCE sq_loja
33
INCREMENT 1
34
minvalue 1
35
maxvalue 99999999
36
START 1;
37
 
38
ALTER TABLE sq_loja owner TO sc_sec;
39
 
40
CREATE SEQUENCE sq_pagamento
41
INCREMENT 1
42
minvalue 1
43
maxvalue 99999999
44
START 1;
45
 
46
ALTER TABLE sq_pagamento owner TO sc_sec;
47
 
48
CREATE SEQUENCE sq_pedido
49
INCREMENT 1
50
minvalue 1
51
maxvalue 99999999
52
START 1;
53
 
54
ALTER TABLE sq_pedido owner TO sc_sec;
55
 
56
CREATE SEQUENCE sq_pendencia
57
INCREMENT 1
58
minvalue 1
59
maxvalue 99999999
60
START 1;
61
 
62
ALTER TABLE sq_pendencia owner TO sc_sec;
63
 
64
CREATE SEQUENCE sq_produto
65
INCREMENT 1
66
minvalue 1
67
maxvalue 99999999
68
START 1;
69
 
70
ALTER TABLE sq_produto owner TO sc_sec;
71
 
72
CREATE SEQUENCE sq_usuario
73
INCREMENT 1
74
minvalue 1
75
maxvalue 99999999
76
START 1;
77
 
78
ALTER TABLE sq_usuario owner TO sc_sec;
79
 
80
CREATE SEQUENCE sq_venda
81
INCREMENT 1
82
minvalue 1
83
maxvalue 99999999
84
START 1;
85
 
86
ALTER TABLE sq_venda owner TO sc_sec;
87
 
88
CREATE SEQUENCE sq_solicitacao
89
INCREMENT 1
90
minvalue 1
91
maxvalue 99999999
92
START 1;
93
 
94
ALTER TABLE sq_solicitacao owner TO sc_sec;
95
 
96
CREATE SEQUENCE sq_vendedor
97
INCREMENT 1
98
minvalue 1
99
maxvalue 99999999
100
START 1;
101
 
102
ALTER TABLE sq_vendedor owner TO sc_sec;
103
 
104
/*==============================================================*/
105
/* Table: sec_forma_pagamento                                   */
106
/*==============================================================*/
107
CREATE TABLE sec_forma_pagamento (
108
   seq_formapagament    INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_formapagament'::regclass),
109
   dsc_formapagament    VARCHAR(120)         NULL,
110
   ind_ativo            BOOL                 NOT NULL,
111
   CONSTRAINT pk_formapagament PRIMARY KEY (seq_formapagament)
112
);
113
 
114
-- set table ownership
115
ALTER TABLE sec_forma_pagamento owner TO sc_sec
116
;
117
/*==============================================================*/
118
/* Table: sec_lancamento                                        */
119
/*==============================================================*/
120
CREATE TABLE sec_lancamento (
121
   seq_lancamento       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_lancamento'::regclass),
122
   seq_venda            INT4                 NOT NULL,
123
   cod_produto          VARCHAR(20)          NULL,
124
   dsc_produto          VARCHAR(120)         NULL,
125
   dsc_categoria        VARCHAR(120)         NULL,
126
   val_compra           NUMERIC(10,2)        NULL,
127
   val_varejo           NUMERIC(10,2)        NULL,
128
   val_venda            NUMERIC(10,2)        NULL,
129
   dsc_observacao       VARCHAR(120)         NULL,
130
   ind_retirado_face    BOOL                 NOT NULL,
131
   ind_retirado_site    BOOL                 NOT NULL,
132
   ind_avaria           BOOL                 NOT NULL,
133
   ind_ativo            BOOL                 NOT NULL,
134
   CONSTRAINT pk_lancamento PRIMARY KEY (seq_lancamento)
135
);
136
 
137
-- set table ownership
138
ALTER TABLE sec_lancamento owner TO sc_sec
139
;
140
/*==============================================================*/
141
/* Index: ix_lancamento_venda                                   */
142
/*==============================================================*/
143
CREATE  INDEX ix_lancamento_venda ON sec_lancamento (
144
seq_venda
145
);
146
 
147
/*==============================================================*/
148
/* Table: sec_loja                                              */
149
/*==============================================================*/
150
CREATE TABLE sec_loja (
151
   seq_loja             INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_loja'::regclass),
152
   dsc_loja             VARCHAR(120)         NULL,
153
   CONSTRAINT pk_loja PRIMARY KEY (seq_loja)
154
);
155
 
156
-- set table ownership
157
ALTER TABLE sec_loja owner TO sc_sec
158
;
159
/*==============================================================*/
160
/* Table: sec_pagamento                                         */
161
/*==============================================================*/
162
CREATE TABLE sec_pagamento (
163
   seq_pagamento        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pagamento'::regclass),
164
   seq_loja             INT4                 NOT NULL,
165
   dsc_pagamento        VARCHAR(120)         NULL,
166
   val_pagamento        NUMERIC(10,2)        NULL,
167
   dat_pagamento        DATE                 NOT NULL,
168
   ind_ativo            BOOL                 NOT NULL,
169
   CONSTRAINT pk_pagamento PRIMARY KEY (seq_pagamento)
170
);
171
 
172
-- set table ownership
173
ALTER TABLE sec_pagamento owner TO sc_sec
174
;
175
/*==============================================================*/
176
/* Index: ix_pagamento_loja                                     */
177
/*==============================================================*/
178
CREATE  INDEX ix_pagamento_loja ON sec_pagamento (
179
seq_loja
180
);
181
 
182
/*==============================================================*/
183
/* Table: sec_pedido                                            */
184
/*==============================================================*/
185
CREATE TABLE sec_pedido (
186
   seq_pedido           INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pedido'::regclass),
187
   dsc_produto          VARCHAR(120)         NULL,
188
   dat_pedido           DATE                 NULL,
189
   dsc_nome_cliente     VARCHAR(120)         NULL,
190
   dsc_contato          VARCHAR(120)         NULL,
191
   dsc_telefone         VARCHAR(20)          NULL,
192
   ind_ativo            BOOL                 NOT NULL,
193
   CONSTRAINT pk_pedido PRIMARY KEY (seq_pedido)
194
);
195
 
196
-- set table ownership
197
ALTER TABLE sec_pedido owner TO sc_sec
198
;
199
/*==============================================================*/
200
/* Table: sec_pendencia                                         */
201
/*==============================================================*/
202
CREATE TABLE sec_pendencia (
203
   seq_pendencia        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pendencia'::regclass),
204
   seq_loja             INT4                 NOT NULL,
205
   dsc_pendencia        VARCHAR(120)         NULL,
206
   ind_finalizado       BOOL                 NOT NULL,
207
   dat_pendencia        DATE                 NOT NULL,
208
   CONSTRAINT pk_pendencia PRIMARY KEY (seq_pendencia)
209
);
210
 
211
-- set table ownership
212
ALTER TABLE sec_pendencia owner TO sc_sec
213
;
214
/*==============================================================*/
215
/* Index: ix_pendencia_loja                                     */
216
/*==============================================================*/
217
CREATE  INDEX ix_pendencia_loja ON sec_pendencia (
218
seq_loja
219
);
220
 
221
/*==============================================================*/
222
/* Table: sec_produto                                           */
223
/*==============================================================*/
224
CREATE TABLE sec_produto (
225
   seq_produto          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_produto'::regclass),
226
   cod_produto          VARCHAR(20)          NULL,
227
   dsc_produto          VARCHAR(120)         NULL,
228
   dsc_categoria        VARCHAR(120)         NULL,
229
   val_compra           NUMERIC(10,2)        NULL,
230
   val_varejo           NUMERIC(10,2)        NULL,
231
   qtd_estoque          NUMERIC(5)           NULL,
232
   CONSTRAINT pk_produto PRIMARY KEY (seq_produto)
233
);
234
 
235
-- set table ownership
236
ALTER TABLE sec_produto owner TO sc_sec
237
;
238
 
239
/*==============================================================*/
240
/* Table: sec_usuario                                           */
241
/*==============================================================*/
242
CREATE TABLE sec_usuario (
243
   seq_usuario          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_usuario'::regclass),
244
   dsc_nome             VARCHAR(120)         NULL,
245
   dsc_login            VARCHAR(32)          NOT NULL,
246
   dsc_senha            VARCHAR(32)          NOT NULL,
247
   ind_admin            BOOL                 NOT NULL,
248
   ind_ativo            BOOL                 NOT NULL,
249
   CONSTRAINT pk_usuario PRIMARY KEY (seq_usuario)
250
);
251
 
252
-- set table ownership
253
ALTER TABLE sec_usuario owner TO sc_sec
254
;
255
 
256
/*==============================================================*/
257
/* Table: sec_venda                                             */
258
/*==============================================================*/
259
CREATE TABLE sec_venda (
260
   seq_venda            INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_venda'::regclass),
261
   seq_loja             INT4                 NOT NULL,
262
   seq_usuario          INT4                 NOT NULL,
263
   seq_vendedor                 INT4                             NOT NULL,
264
   seq_indicacao                INT4                             NOT NULL,
265
   dth_venda            TIMESTAMP WITH TIME ZONE NOT NULL,
266
   dsc_observacao       VARCHAR(120)         NULL,
267
   tip_situacao         CHAR(1)              NOT NULL
268
      CONSTRAINT ck_venda_situacao CHECK (tip_situacao IN ('N','C','R','A','F','P')),
269
   ind_ativo            BOOL                 NOT NULL,
270
   CONSTRAINT pk_venda PRIMARY KEY (seq_venda)
271
);
272
 
273
comment ON COLUMN sec_venda.tip_situacao IS
274
'Valores possíveis:
275
N - NOVO
276
C - CONFERIDO
277
R - À RECEBER
278
A - AGUARDANDO CARTÃO
279
F - FINALIZADO
280
P - COM PENDÊNCIAS';
281
 
282
-- set table ownership
283
ALTER TABLE sec_venda owner TO sc_sec
284
;
285
/*==============================================================*/
286
/* Index: ix_venda_loja                                         */
287
/*==============================================================*/
288
CREATE  INDEX ix_venda_loja ON sec_venda (
289
seq_loja
290
);
291
 
292
/*==============================================================*/
293
/* Index: ix_venda_usuario                                      */
294
/*==============================================================*/
295
CREATE  INDEX ix_venda_usuario ON sec_venda (
296
seq_usuario
297
);
298
 
299
/*==============================================================*/
300
/* Index: ix_venda_vendedor                                                     */
301
/*==============================================================*/
302
CREATE  INDEX ix_venda_vendedor ON sec_venda (
303
seq_vendedor
304
);
305
 
306
/*==============================================================*/
307
/* Index: ix_venda_indicacao                                                    */
308
/*==============================================================*/
309
CREATE  INDEX ix_venda_indicacao ON sec_venda (
310
seq_indicacao
311
);
312
 
313
/*==============================================================*/
314
/* Table: sec_venda_formapagament                               */
315
/*==============================================================*/
316
CREATE TABLE sec_venda_formapagament (
317
   seq_venda            INT4                 NOT NULL,
318
   seq_formapagament    INT4                 NOT NULL,
319
   val_pagamento        NUMERIC(10,2)        NOT NULL,
320
   CONSTRAINT pk_vendaformapag PRIMARY KEY (seq_venda, seq_formapagament)
321
);
322
 
323
-- set table ownership
324
ALTER TABLE sec_venda_formapagament owner TO sc_sec
325
;
326
/*==============================================================*/
327
/* Index: ix_vendaformapag                                      */
328
/*==============================================================*/
329
CREATE UNIQUE INDEX ix_vendaformapag ON sec_venda_formapagament (
330
        seq_venda,
331
        seq_formapagament
332
);
333
 
334
/*==============================================================*/
335
/* Table: sec_solicitacao                                       */
336
/*==============================================================*/
337
CREATE TABLE sec_solicitacao (
338
   seq_solicitacao      INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_solicitacao'::regclass),
339
   seq_loja_solicitante INT4                 NOT NULL,
340
   seq_loja_solicitada  INT4                 NOT NULL,
341
   cod_produto_solicitado VARCHAR(20)        NULL,
342
   dsc_observacao       VARCHAR(120)         NULL,
343
   dat_solicitacao      TIMESTAMP WITH TIME ZONE NOT NULL,
344
   tip_situacao         CHAR(1)              NOT NULL
345
      CONSTRAINT ck_solicitacao_situacao CHECK (tip_situacao IN ('P','C','R')),
346
   ind_ativo            BOOL                 NOT NULL,
347
   CONSTRAINT pk_solicitacao PRIMARY KEY (seq_solicitacao)
348
);
349
 
350
comment ON COLUMN sec_solicitacao.tip_situacao IS
351
'Valores possíveis:
352
P - PENDENTE
353
C - RESERVADO PARA ENTREGA
354
R - REJEITADO';
355
 
356
-- set table ownership
357
ALTER TABLE sec_solicitacao owner TO sc_sec
358
;
359
/*==============================================================*/
360
/* Index: ix_solicitacao_loja_solicitante                       */
361
/*==============================================================*/
362
CREATE  INDEX ix_solicitacao_loja_solicitante ON sec_solicitacao (
363
seq_loja_solicitante
364
);
365
/*==============================================================*/
366
/* Index: ix_solicitacao_loja_solicitante                       */
367
/*==============================================================*/
368
CREATE  INDEX ix_solicitacao_loja_solicitada ON sec_solicitacao (
369
seq_loja_solicitada
370
);
371
 
372
/*==============================================================*/
373
/* Table: sec_vendedor                                          */
374
/*==============================================================*/
375
CREATE TABLE sec_vendedor (
376
   seq_vendedor         INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_vendedor'::regclass),
377
   dsc_nome                             VARCHAR(120)             NULL,
378
   ind_ativo            BOOL                 NOT NULL,
379
   CONSTRAINT pk_vendedor PRIMARY KEY (seq_vendedor)
380
);
381
 
382
-- set table ownership
383
ALTER TABLE sec_vendedor owner TO sc_sec
384
;
385
 
386
 
387
ALTER TABLE sec_lancamento
388
   ADD CONSTRAINT fk_lancamento_venda FOREIGN KEY (seq_venda)
389
      REFERENCES sec_venda (seq_venda);
390
 
391
ALTER TABLE sec_pagamento
392
   ADD CONSTRAINT fk_pagamento_loja FOREIGN KEY (seq_loja)
393
      REFERENCES sec_loja (seq_loja);
394
 
395
ALTER TABLE sec_pendencia
396
   ADD CONSTRAINT fk_pendencia_loja FOREIGN KEY (seq_loja)
397
      REFERENCES sec_loja (seq_loja);
398
 
399
ALTER TABLE sec_venda
400
   ADD CONSTRAINT fk_venda_loja FOREIGN KEY (seq_loja)
401
      REFERENCES sec_loja (seq_loja);
402
 
403
ALTER TABLE sec_venda
404
   ADD CONSTRAINT fk_venda_usuario FOREIGN KEY (seq_usuario)
405
      REFERENCES sec_usuario (seq_usuario);
406
 
407
ALTER TABLE sec_venda_formapagament
408
   ADD CONSTRAINT fk_vendaformapag_formapagament FOREIGN KEY (seq_formapagament)
409
      REFERENCES sec_forma_pagamento (seq_formapagament);
410
 
411
ALTER TABLE sec_venda_formapagament
412
   ADD CONSTRAINT fk_vendaformapag_venda FOREIGN KEY (seq_venda)
413
      REFERENCES sec_venda (seq_venda);
414
 
415
ALTER TABLE sec_solicitacao
416
   ADD CONSTRAINT fk_solicitacao_loja_solicitante FOREIGN KEY (seq_loja_solicitante)
417
      REFERENCES sec_loja (seq_loja);
418
 
419
ALTER TABLE sec_solicitacao
420
   ADD CONSTRAINT fk_solicitacao_loja_solicitada FOREIGN KEY (seq_loja_solicitada)
421
      REFERENCES sec_loja (seq_loja);
422
 
423
ALTER TABLE sec_venda
424
        ADD CONSTRAINT fk_venda_vendedor FOREIGN KEY (seq_vendedor)
425
                REFERENCES sc_sec.sec_vendedor(seq_vendedor);
426
 
427
ALTER TABLE sec_venda
428
        ADD CONSTRAINT fk_venda_indicacao FOREIGN KEY (seq_indicacao)
429
                REFERENCES sc_sec.sec_vendedor(seq_vendedor);          
430
 
431
 
432
SET search_path = public;