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
/*==============================================================*/
89
/* Table: sec_forma_pagamento                                   */
90
/*==============================================================*/
91
CREATE TABLE sec_forma_pagamento (
92
   seq_formapagament    INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_formapagament'::regclass),
93
   dsc_formapagament    VARCHAR(120)         NULL,
94
   ind_ativo            BOOL                 NOT NULL,
95
   CONSTRAINT pk_formapagament PRIMARY KEY (seq_formapagament)
96
);
97
 
98
-- set table ownership
99
ALTER TABLE sec_forma_pagamento owner TO sc_sec
100
;
101
/*==============================================================*/
102
/* Table: sec_lancamento                                        */
103
/*==============================================================*/
104
CREATE TABLE sec_lancamento (
105
   seq_lancamento       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_lancamento'::regclass),
106
   seq_venda            INT4                 NOT NULL,
107
   cod_produto          VARCHAR(20)          NULL,
108
   dsc_produto          VARCHAR(120)         NULL,
109
   dsc_categoria        VARCHAR(120)         NULL,
110
   val_compra           NUMERIC(10,2)        NULL,
111
   val_varejo           NUMERIC(10,2)        NULL,
112
   val_venda            NUMERIC(10,2)        NULL,
113
   dsc_observacao       VARCHAR(120)         NULL,
114
   ind_retirado_face    BOOL                 NOT NULL,
115
   ind_retirado_site    BOOL                 NOT NULL,
116
   ind_avaria           BOOL                 NOT NULL,
117
   ind_ativo            BOOL                 NOT NULL,
118
   CONSTRAINT pk_lancamento PRIMARY KEY (seq_lancamento)
119
);
120
 
121
-- set table ownership
122
ALTER TABLE sec_lancamento owner TO sc_sec
123
;
124
/*==============================================================*/
125
/* Index: ix_lancamento_venda                                   */
126
/*==============================================================*/
127
CREATE  INDEX ix_lancamento_venda ON sec_lancamento (
128
seq_venda
129
);
130
 
131
/*==============================================================*/
132
/* Table: sec_loja                                              */
133
/*==============================================================*/
134
CREATE TABLE sec_loja (
135
   seq_loja             INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_loja'::regclass),
136
   dsc_loja             VARCHAR(120)         NULL,
137
   CONSTRAINT pk_loja PRIMARY KEY (seq_loja)
138
);
139
 
140
-- set table ownership
141
ALTER TABLE sec_loja owner TO sc_sec
142
;
143
/*==============================================================*/
144
/* Table: sec_pagamento                                         */
145
/*==============================================================*/
146
CREATE TABLE sec_pagamento (
147
   seq_pagamento        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pagamento'::regclass),
148
   seq_loja             INT4                 NOT NULL,
149
   dsc_pagamento        VARCHAR(120)         NULL,
150
   val_pagamento        NUMERIC(10,2)        NULL,
151
   dat_pagamento        DATE                 NOT NULL,
152
   ind_ativo            BOOL                 NOT NULL,
153
   CONSTRAINT pk_pagamento PRIMARY KEY (seq_pagamento)
154
);
155
 
156
-- set table ownership
157
ALTER TABLE sec_pagamento owner TO sc_sec
158
;
159
/*==============================================================*/
160
/* Index: ix_pagamento_loja                                     */
161
/*==============================================================*/
162
CREATE  INDEX ix_pagamento_loja ON sec_pagamento (
163
seq_loja
164
);
165
 
166
/*==============================================================*/
167
/* Table: sec_pedido                                            */
168
/*==============================================================*/
169
CREATE TABLE sec_pedido (
170
   seq_pedido           INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pedido'::regclass),
171
   dsc_produto          VARCHAR(120)         NULL,
172
   dat_pedido           DATE                 NULL,
173
   dsc_nome_cliente     VARCHAR(120)         NULL,
174
   dsc_contato          VARCHAR(120)         NULL,
175
   dsc_telefone         VARCHAR(20)          NULL,
176
   ind_ativo            BOOL                 NOT NULL,
177
   CONSTRAINT pk_pedido PRIMARY KEY (seq_pedido)
178
);
179
 
180
-- set table ownership
181
ALTER TABLE sec_pedido owner TO sc_sec
182
;
183
/*==============================================================*/
184
/* Table: sec_pendencia                                         */
185
/*==============================================================*/
186
CREATE TABLE sec_pendencia (
187
   seq_pendencia        INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_pendencia'::regclass),
188
   seq_loja             INT4                 NOT NULL,
189
   dsc_pendencia        VARCHAR(120)         NULL,
190
   ind_finalizado       BOOL                 NOT NULL,
191
   dat_pendencia        DATE                 NOT NULL,
192
   CONSTRAINT pk_pendencia PRIMARY KEY (seq_pendencia)
193
);
194
 
195
-- set table ownership
196
ALTER TABLE sec_pendencia owner TO sc_sec
197
;
198
/*==============================================================*/
199
/* Index: ix_pendencia_loja                                     */
200
/*==============================================================*/
201
CREATE  INDEX ix_pendencia_loja ON sec_pendencia (
202
seq_loja
203
);
204
 
205
/*==============================================================*/
206
/* Table: sec_produto                                           */
207
/*==============================================================*/
208
CREATE TABLE sec_produto (
209
   seq_produto          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_produto'::regclass),
210
   cod_produto          VARCHAR(20)          NULL,
211
   dsc_produto          VARCHAR(120)         NULL,
212
   dsc_categoria        VARCHAR(120)         NULL,
213
   val_compra           NUMERIC(10,2)        NULL,
214
   val_varejo           NUMERIC(10,2)        NULL,
215
   qtd_estoque          NUMERIC(5)           NULL,
216
   CONSTRAINT pk_produto PRIMARY KEY (seq_produto)
217
);
218
 
219
-- set table ownership
220
ALTER TABLE sec_produto owner TO sc_sec
221
;
222
 
223
/*==============================================================*/
224
/* Table: sec_usuario                                           */
225
/*==============================================================*/
226
CREATE TABLE sec_usuario (
227
   seq_usuario          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_usuario'::regclass),
228
   dsc_nome             VARCHAR(120)         NULL,
229
   dsc_login            VARCHAR(32)          NOT NULL,
230
   dsc_senha            VARCHAR(32)          NOT NULL,
231
   ind_admin            BOOL                 NOT NULL,
232
   ind_ativo            BOOL                 NOT NULL,
233
   CONSTRAINT pk_usuario PRIMARY KEY (seq_usuario)
234
);
235
 
236
-- set table ownership
237
ALTER TABLE sec_usuario owner TO sc_sec
238
;
239
 
240
/*==============================================================*/
241
/* Table: sec_venda                                             */
242
/*==============================================================*/
243
CREATE TABLE sec_venda (
244
   seq_venda            INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_venda'::regclass),
245
   seq_loja             INT4                 NOT NULL,
246
   seq_usuario          INT4                 NOT NULL,
247
   dth_venda            TIMESTAMP WITH TIME ZONE NOT NULL,
248
   dsc_observacao       VARCHAR(120)         NULL,
249
   tip_situacao         CHAR(1)              NOT NULL
250
      CONSTRAINT ck_venda_situacao CHECK (tip_situacao IN ('N','C','R','A','F','P')),
251
   ind_ativo            BOOL                 NOT NULL,
252
   CONSTRAINT pk_venda PRIMARY KEY (seq_venda)
253
);
254
 
255
comment ON COLUMN sec_venda.tip_situacao IS
256
'Valores possíveis:
257
N - NOVO
258
C - CONFERIDO
259
R - À RECEBER
260
A - AGUARDANDO CARTÃO
261
F - FINALIZADO
262
P - COM PENDÊNCIAS';
263
 
264
-- set table ownership
265
ALTER TABLE sec_venda owner TO sc_sec
266
;
267
/*==============================================================*/
268
/* Index: ix_venda_loja                                         */
269
/*==============================================================*/
270
CREATE  INDEX ix_venda_loja ON sec_venda (
271
seq_loja
272
);
273
 
274
/*==============================================================*/
275
/* Index: ix_venda_usuario                                      */
276
/*==============================================================*/
277
CREATE  INDEX ix_venda_usuario ON sec_venda (
278
seq_usuario
279
);
280
 
281
/*==============================================================*/
282
/* Table: sec_venda_formapagament                               */
283
/*==============================================================*/
284
CREATE TABLE sec_venda_formapagament (
285
   seq_venda            INT4                 NOT NULL,
286
   seq_formapagament    INT4                 NOT NULL,
287
   val_pagamento        NUMERIC(10,2)        NOT NULL,
288
   CONSTRAINT pk_vendaformapag PRIMARY KEY (seq_venda, seq_formapagament)
289
);
290
 
291
-- set table ownership
292
ALTER TABLE sec_venda_formapagament owner TO sc_sec
293
;
294
/*==============================================================*/
295
/* Index: ix_vendaformapag                                      */
296
/*==============================================================*/
297
CREATE UNIQUE INDEX ix_vendaformapag ON sec_venda_formapagament (
298
        seq_venda,
299
        seq_formapagament
300
);
301
 
302
ALTER TABLE sec_lancamento
303
   ADD CONSTRAINT fk_lancamento_venda FOREIGN KEY (seq_venda)
304
      REFERENCES sec_venda (seq_venda);
305
 
306
ALTER TABLE sec_pagamento
307
   ADD CONSTRAINT fk_pagamento_loja FOREIGN KEY (seq_loja)
308
      REFERENCES sec_loja (seq_loja);
309
 
310
ALTER TABLE sec_pendencia
311
   ADD CONSTRAINT fk_pendencia_loja FOREIGN KEY (seq_loja)
312
      REFERENCES sec_loja (seq_loja);
313
 
314
ALTER TABLE sec_venda
315
   ADD CONSTRAINT fk_venda_loja FOREIGN KEY (seq_loja)
316
      REFERENCES sec_loja (seq_loja);
317
 
318
ALTER TABLE sec_venda
319
   ADD CONSTRAINT fk_venda_usuario FOREIGN KEY (seq_usuario)
320
      REFERENCES sec_usuario (seq_usuario);
321
 
322
ALTER TABLE sec_venda_formapagament
323
   ADD CONSTRAINT fk_vendaformapag_formapagament FOREIGN KEY (seq_formapagament)
324
      REFERENCES sec_forma_pagamento (seq_formapagament);
325
 
326
ALTER TABLE sec_venda_formapagament
327
   ADD CONSTRAINT fk_vendaformapag_venda FOREIGN KEY (seq_venda)
328
      REFERENCES sec_venda (seq_venda);
329
 
330
 
331
SET search_path = public;