Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
743 blopes 1
/*==============================================================*/
2
/* DBMS name:     PostgreSQL 8                                  */
3
/* Criado em:     30/10/2025                                        */
4
/* Autor: Bruno Lopes Peixoto                                       */
5
/*==============================================================*/
6
 
7
SET search_path = sc_lse;
8
 
9
CREATE SEQUENCE sq_endereco
10
INCREMENT 1
11
minvalue 1
12
maxvalue 99999999
13
START 1;
14
 
15
/*==============================================================*/
16
/* Table: sec_endereco                                          */
17
/*==============================================================*/
18
CREATE TABLE sec_endereco (
19
   seq_endereco         INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_endereco'::regclass),
20
   seq_pessoa           INT8                 NOT NULL,
21
   dsc_cep              VARCHAR(8)           NULL,
22
   dsc_logradouro       VARCHAR(200)         NULL,
23
   dsc_numero           VARCHAR(6)           NULL,
24
   dsc_bairro           VARCHAR(120)         NULL,
25
   dsc_complemento      VARCHAR(200)         NULL,
26
   dsc_municipio        VARCHAR(120)         NULL,
27
   dsc_codigo_municipio VARCHAR(20)          NULL,
28
   dsc_uf               VARCHAR(2)           NULL,
29
   ind_propria          BOOL                 NULL,
30
   ind_uso_fgts         BOOL                 NULL,
31
   tip_dependentes      VARCHAR(2)           NULL
32
      CONSTRAINT ck_tipodependentes CHECK (tip_dependentes IS NULL OR (tip_dependentes IN ('<Val0>'))),
33
   dsc_dados_dependentes VARCHAR(400)         NULL,
34
   ind_dependentes_irrf BOOL                 NULL,
35
   ind_dependentes_salariofamilia BOOL                 NULL,
36
   ind_ativo            BOOL                 NOT NULL,
37
   CONSTRAINT pk_endereco PRIMARY KEY (seq_endereco)
38
);
39
 
40
-- set table ownership
41
ALTER TABLE sec_endereco owner TO labse_sc_lse
42
;
43
/*==============================================================*/
44
/* Index: ix_endereco                                           */
45
/*==============================================================*/
46
CREATE UNIQUE INDEX ix_endereco ON sec_endereco (
47
seq_endereco
48
);
49
 
50
CREATE SEQUENCE sq_pessoa
51
INCREMENT 1
52
minvalue 1
53
maxvalue 99999999
54
START 1;
55
 
56
 
57
/*==============================================================*/
58
/* Table: sec_pessoa                                            */
59
/*==============================================================*/
60
CREATE TABLE sec_pessoa (
61
   seq_pessoa           INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_pessoa'::regclass),
62
   tip_pessoa           CHAR(1)              NULL
63
      CONSTRAINT ck_pessoa_tipo CHECK (tip_pessoa IS NULL OR (tip_pessoa IN ('F','J'))),
64
   dsc_nome             VARCHAR(120)         NOT NULL,
65
   dsc_cpf_cnpj         VARCHAR(20)          NULL,
66
   dsc_rg               VARCHAR(20)          NULL,
67
   dsc_rg_dataexpedicao DATE                 NULL,
68
   dsc_rg_orgaoemissor  VARCHAR(10)          NULL,
69
   dsc_email            VARCHAR(120)         NULL,
70
   dsc_contato          VARCHAR(120)         NULL,
71
   tip_sexo             CHAR(1)              NULL
72
      CONSTRAINT ck_pessoa_sexo CHECK (tip_sexo IS NULL OR (tip_sexo IN ('F','M'))),
73
   dsc_telefone         VARCHAR(11)          NULL,
74
   dsc_nacionalidade    VARCHAR(20)          NULL,
75
   dsc_observacao       VARCHAR(240)         NULL,
76
   dat_nascimento       DATE                 NULL,
77
   dsc_nascimento_local VARCHAR(120)         NULL,
78
   dsc_nascimento_uf    VARCHAR(2)           NULL,
79
   dsc_nome_pai         VARCHAR(120)         NULL,
80
   dsc_nome_mae         VARCHAR(120)         NULL,
81
   tip_estado_civil     CHAR(1)              NULL
82
      CONSTRAINT ck_estadocivil_pessoa CHECK (tip_estado_civil IS NULL OR (tip_estado_civil IN ('S','C','D','V','U','O'))),
83
   tip_raca_cor         CHAR(1)              NULL
84
      CONSTRAINT ck_racacor_pessoa CHECK (tip_raca_cor IS NULL OR (tip_raca_cor IN ('I','B','N','A','P','Z'))),
85
   tip_escolaridade     VARCHAR(2)           NULL
86
      CONSTRAINT ck_escolaridade_pessoa CHECK (tip_escolaridade IS NULL OR (tip_escolaridade IN ('1','2','3','4','5','6','7','8','9','10','11','12'))),
87
   dsc_razao_social     VARCHAR(240)         NULL,
88
   dsc_nome_fantasia    VARCHAR(120)         NULL,
89
   tip_regime_tributario CHAR(1)              NULL
90
      CONSTRAINT ck_regime_tributario_pessoa CHECK (tip_regime_tributario IS NULL OR (tip_regime_tributario IN ('1','2','3'))),
91
   dsc_inscricao_estadual VARCHAR(15)          NULL,
92
   ind_inscricao_estadual_isento BOOL                 NULL,
93
   tip_inscricao_estadual CHAR(1)              NULL
94
      CONSTRAINT ck_pessoa_inscricaoestadual CHECK (tip_inscricao_estadual IS NULL OR (tip_inscricao_estadual IN ('C','I','N'))),
95
   dsc_inscricao_municipal VARCHAR(15)          NULL,
96
   tip_papel            CHAR(1)              NULL
97
      CONSTRAINT ck_papel_pessoa CHECK (tip_papel IS NULL OR (tip_papel IN ('C','O','F','T'))),
98
   ind_novidades        BOOL                 NULL,
99
   ind_primeiro_emprego BOOL                 NULL,
100
   ind_optante_fgts     BOOL                 NULL,
101
   ind_deficiente_motora BOOL                 NULL,
102
   ind_deficiente_visual BOOL                 NULL,
103
   ind_deficiente_auditiva BOOL                 NULL,
104
   ind_reabilitado      BOOL                 NULL,
105
   dsc_deficiente_observacao VARCHAR(200)         NULL,
106
   ind_ativo            BOOL                 NOT NULL,
107
   CONSTRAINT pk_pessoa PRIMARY KEY (seq_pessoa)
108
);
109
 
110
comment ON COLUMN sec_pessoa.tip_pessoa IS
111
'Valores possíveis:
112
F - FÍSICA
113
J - JURÍDICA';
114
 
115
comment ON COLUMN sec_pessoa.tip_sexo IS
116
'Valores possíveis:
117
F - FEMININO
118
M - MASCULINO';
119
 
120
comment ON COLUMN sec_pessoa.tip_estado_civil IS
121
'Valores possíveis:
122
S - Solteiro
123
C - Casado
124
D - Divorciado
125
V - Viúvo
126
U - União Estável
127
O - Outros';
128
 
129
comment ON COLUMN sec_pessoa.tip_raca_cor IS
130
'Valores possíveis:
131
I - Indígena
132
B - Branca
133
N - Negra
134
A - Amarela (japonesa, coreana)
135
P - Parda
136
Z - Nao informado';
137
 
138
comment ON COLUMN sec_pessoa.tip_escolaridade IS
139
'Valores possíveis:
140
1 - Analfabeto
141
2 - Até a 4ª série incompleta do ensino fundamental
142
3 - Até a 4ª série completa do ensino fundamental
143
4 - Até a 8ª série incompleta do ensino fundamental
144
5 - Ensino fundamental completo
145
6 - Ensino médio incompleto
146
7 - Ensino médio completo
147
8 - Ensino superior incompleto
148
9 - Ensino superior completo
149
10 - Pós-graduação
150
11 - Mestrado
151
12 - Doutorado';
152
 
153
comment ON COLUMN sec_pessoa.tip_regime_tributario IS
154
'Valores possíveis:
155
1 - Simples Nacional
156
2 - Simples Nacional - Excesso de Sublimite de Receita Bruta
157
3 - Regime Normal';
158
 
159
comment ON COLUMN sec_pessoa.tip_inscricao_estadual IS
160
'Valores possíveis:
161
C - Contribuinte ICMS
162
I - Contribuinte Isento
163
N - Não Contribuinte';
164
 
165
comment ON COLUMN sec_pessoa.tip_papel IS
166
'Valores possíveis:
167
C - Cliente
168
O - Colaborador
169
F - Fornecedor
170
T - Técnico';
171
 
172
-- set table ownership
173
ALTER TABLE sec_pessoa owner TO labse_sc_lse
174
;
175
/*==============================================================*/
176
/* Index: ix_pessoa                                             */
177
/*==============================================================*/
178
CREATE UNIQUE INDEX ix_pessoa ON sec_pessoa (
179
seq_pessoa
180
);
181
 
182
 
183
/*==============================================================*/
184
/* Index: ix_endereco_pessoa                                    */
185
/*==============================================================*/
186
CREATE  INDEX ix_endereco_pessoa ON sec_endereco (
187
seq_pessoa
188
);
189
 
190
ALTER TABLE sec_endereco
191
   ADD CONSTRAINT fk_endereco_pessoa FOREIGN KEY (seq_pessoa)
192
      REFERENCES sec_pessoa (seq_pessoa)
193
      ON DELETE RESTRICT ON UPDATE RESTRICT;
194
 
195
/*==============================================================*/
196
/* Table: sec_papel                                             */
197
/*==============================================================*/
198
CREATE TABLE sec_papel (
199
   cod_papel            INT8                 NOT NULL,
200
   dsc_papel            VARCHAR(120)         NOT NULL,
201
   CONSTRAINT pk_papel PRIMARY KEY (cod_papel)
202
);
203
 
204
-- set table ownership
205
ALTER TABLE sec_papel owner TO labse_sc_lse
206
;
207
/*==============================================================*/
208
/* Index: ix_papel                                              */
209
/*==============================================================*/
210
CREATE UNIQUE INDEX ix_papel ON sec_papel (
211
cod_papel
212
);
213
 
214
/*==============================================================*/
215
/* Table: sec_pessoa_papel                                      */
216
/*==============================================================*/
217
CREATE TABLE sec_pessoa_papel (
218
   seq_pessoa           INT8                 NOT NULL,
219
   cod_papel            INT8                 NOT NULL,
220
   CONSTRAINT pk_pessoapapel PRIMARY KEY (seq_pessoa, cod_papel)
221
);
222
 
223
-- set table ownership
224
ALTER TABLE sec_pessoa_papel owner TO labse_sc_lse
225
;
226
/*==============================================================*/
227
/* Index: ix_pessoapapel                                        */
228
/*==============================================================*/
229
CREATE UNIQUE INDEX ix_pessoapapel ON sec_pessoa_papel (
230
seq_pessoa,
231
cod_papel
232
);
233
 
234
/*==============================================================*/
235
/* Index: ix_pessoapapel_papel                                  */
236
/*==============================================================*/
237
CREATE  INDEX ix_pessoapapel_papel ON sec_pessoa_papel (
238
cod_papel
239
);
240
 
241
/*==============================================================*/
242
/* Index: ix_pessoapapel_pessoa                                 */
243
/*==============================================================*/
244
CREATE  INDEX ix_pessoapapel_pessoa ON sec_pessoa_papel (
245
seq_pessoa
246
);
247
 
248
ALTER TABLE sec_pessoa_papel
249
   ADD CONSTRAINT fk_pessoapapel_papel FOREIGN KEY (cod_papel)
250
      REFERENCES sec_papel (cod_papel)
251
      ON DELETE RESTRICT ON UPDATE RESTRICT;
252
 
253
ALTER TABLE sec_pessoa_papel
254
   ADD CONSTRAINT fk_pessoapapel_pessoa FOREIGN KEY (seq_pessoa)
255
      REFERENCES sec_pessoa (seq_pessoa)
256
      ON DELETE RESTRICT ON UPDATE RESTRICT;
257
 
258
CREATE SEQUENCE sq_funcionario
259
INCREMENT 1
260
minvalue 1
261
maxvalue 99999999
262
START 1;
263
 
264
/*==============================================================*/
265
/* Table: sec_funcionario                                       */
266
/*==============================================================*/
267
CREATE TABLE sec_funcionario (
268
   seq_funcionario      INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_funcionario'::regclass),
269
   seq_pessoa           INT8                 NULL,
270
   cod_contabilidade    INT8                 NULL,
271
   dat_admissao         DATE                 NULL,
272
   dat_demissao         DATE                 NULL,
273
   dsc_pis              VARCHAR(30)          NULL,
274
   dsc_ctps             VARCHAR(30)          NULL,
275
   dsc_ctps_serie       VARCHAR(10)          NULL,
276
   dsc_ctps_uf          VARCHAR(2)           NULL,
277
   val_salario          NUMERIC(10,2)        NULL,
278
   ind_ativo            BOOL                 NOT NULL,
279
   tip_comissionamento  CHAR(1)              NOT NULL
280
      CONSTRAINT ck_comissionamento_tipo CHECK (tip_comissionamento IN ('E','C','F','V')),
281
   dsc_tamanho_fardamento VARCHAR(3)           NULL,
282
   CONSTRAINT pk_funcionario PRIMARY KEY (seq_funcionario)
283
);
284
 
285
comment ON COLUMN sec_funcionario.tip_comissionamento IS
286
'Valores possíveis:
287
E - Espaço Case
288
C - Casa das Capas
289
F - Farmácia
290
V - Vivo';
291
 
292
-- set table ownership
293
ALTER TABLE sec_funcionario owner TO labse_sc_lse
294
;
295
/*==============================================================*/
296
/* Index: ix_funcionario                                        */
297
/*==============================================================*/
298
CREATE UNIQUE INDEX ix_funcionario ON sec_funcionario (
299
seq_funcionario
300
);
301
 
302
/*==============================================================*/
303
/* Index: ix_funcionario_pessoa                                 */
304
/*==============================================================*/
305
CREATE  INDEX ix_funcionario_pessoa ON sec_funcionario (
306
seq_pessoa
307
);
308
 
309
ALTER TABLE sec_funcionario
310
   ADD CONSTRAINT fk_funcionario_pessoa FOREIGN KEY (seq_pessoa)
311
      REFERENCES sec_pessoa (seq_pessoa)
312
      ON DELETE RESTRICT ON UPDATE RESTRICT;
313
 
314
CREATE SEQUENCE sq_contabancaria
315
INCREMENT 1
316
minvalue 1
317
maxvalue 99999999
318
START 1;
319
 
320
/*==============================================================*/
321
/* Table: sec_conta_bancaria                                    */
322
/*==============================================================*/
323
CREATE TABLE sec_conta_bancaria (
324
   seq_conta_bancaria   INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_contabancaria'::regclass),
325
   seq_pessoa           INT8                 NULL,
326
   dsc_descricao        VARCHAR(120)         NULL,
327
   tip_conta_bancaria   CHAR(1)              NOT NULL
328
      CONSTRAINT ck_contabancaria_tipo CHECK (tip_conta_bancaria IN ('B','C')),
329
   val_saldo            DECIMAL(10,2)        NULL,
330
   ind_ativo            BOOL                 NOT NULL,
331
   CONSTRAINT pk_contabancaria PRIMARY KEY (seq_conta_bancaria)
332
);
333
 
334
comment ON COLUMN sec_conta_bancaria.tip_conta_bancaria IS
335
'Valores possíveis:
336
C - Caixa
337
B - Banco';
338
 
339
-- set table ownership
340
ALTER TABLE sec_conta_bancaria owner TO labse_sc_lse
341
;
342
/*==============================================================*/
343
/* Index: ix_contabancaria                                      */
344
/*==============================================================*/
345
CREATE UNIQUE INDEX ix_contabancaria ON sec_conta_bancaria (
346
seq_conta_bancaria
347
);
348
 
349
/*==============================================================*/
350
/* Index: ix_contabancaria_pessoa                               */
351
/*==============================================================*/
352
CREATE  INDEX ix_contabancaria_pessoa ON sec_conta_bancaria (
353
seq_pessoa
354
);
355
 
356
ALTER TABLE sec_conta_bancaria
357
   ADD CONSTRAINT fk_contabancaria_pessoa FOREIGN KEY (seq_pessoa)
358
      REFERENCES sec_pessoa (seq_pessoa)
359
      ON DELETE RESTRICT ON UPDATE RESTRICT;
360
 
361
/*==============================================================*/
362
/* Table: sec_perfil                                            */
363
/*==============================================================*/
364
CREATE TABLE sec_perfil (
365
   cod_perfil           INT8                 NOT NULL,
366
   dsc_perfil           VARCHAR(120)         NULL,
367
   dsc_setor            VARCHAR(120)         NULL,
368
   ind_setor_ativo      BOOL                 NOT NULL,
369
   CONSTRAINT pk_perfil PRIMARY KEY (cod_perfil)
370
);
371
 
372
-- set table ownership
373
ALTER TABLE sec_perfil owner TO labse_sc_lse
374
;
375
/*==============================================================*/
376
/* Index: ix_perfil                                             */
377
/*==============================================================*/
378
CREATE UNIQUE INDEX ix_perfil ON sec_perfil (
379
cod_perfil
380
);
381
 
382
CREATE SEQUENCE sq_usuario
383
INCREMENT 1
384
minvalue 1
385
maxvalue 99999999
386
START 1;
387
 
388
/*==============================================================*/
389
/* Table: sec_usuario                                           */
390
/*==============================================================*/
391
CREATE TABLE sec_usuario (
392
   seq_usuario          INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_usuario'::regclass),
393
   seq_pessoa           INT8                 NULL,
394
   dsc_login            VARCHAR(32)          NOT NULL,
395
   dsc_senha            VARCHAR(32)          NOT NULL,
396
   dth_ultimo_acesso    TIMESTAMP            NULL,
397
   ind_ativo            BOOL                 NOT NULL,
398
   CONSTRAINT pk_usuario PRIMARY KEY (seq_usuario)
399
);
400
 
401
-- set table ownership
402
ALTER TABLE sec_usuario owner TO labse_sc_lse
403
;
404
/*==============================================================*/
405
/* Index: ix_usuario                                            */
406
/*==============================================================*/
407
CREATE UNIQUE INDEX ix_usuario ON sec_usuario (
408
seq_usuario
409
);
410
 
411
/*==============================================================*/
412
/* Index: ix_usuario_pessoa                                     */
413
/*==============================================================*/
414
CREATE  INDEX ix_usuario_pessoa ON sec_usuario (
415
seq_pessoa
416
);
417
 
418
CREATE SEQUENCE sq_usuarioperfil
419
INCREMENT 1
420
minvalue 1
421
maxvalue 99999999
422
START 1;
423
 
424
/*==============================================================*/
425
/* Table: sec_usuario_perfil                                    */
426
/*==============================================================*/
427
CREATE TABLE sec_usuario_perfil (
428
   seq_usuario_perfil   INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_usuarioperfil'::regclass),
429
   seq_usuario          INT8                 NOT NULL,
430
   cod_perfil           INT8                 NOT NULL,
431
   CONSTRAINT pk_usuario_perfil PRIMARY KEY (seq_usuario_perfil)
432
);
433
 
434
-- set table ownership
435
ALTER TABLE sec_usuario_perfil owner TO labse_sc_lse
436
;
437
/*==============================================================*/
438
/* Index: ix_usuarioperfil_perfil                               */
439
/*==============================================================*/
440
CREATE UNIQUE INDEX ix_usuarioperfil_perfil ON sec_usuario_perfil (
441
seq_usuario_perfil
442
);
443
 
444
/*==============================================================*/
445
/* Index: ix_usuarioperfil_usuario                              */
446
/*==============================================================*/
447
CREATE  INDEX ix_usuarioperfil_usuario ON sec_usuario_perfil (
448
seq_usuario
449
);
450
 
451
/*==============================================================*/
452
/* Index: ix_usuarioperfil_codigoperfil                         */
453
/*==============================================================*/
454
CREATE  INDEX ix_usuarioperfil_codigoperfil ON sec_usuario_perfil (
455
cod_perfil
456
);
457
 
458
ALTER TABLE sec_usuario_perfil
459
   ADD CONSTRAINT fk_usuarioperfil_perfil FOREIGN KEY (cod_perfil)
460
      REFERENCES sec_perfil (cod_perfil)
461
      ON DELETE RESTRICT ON UPDATE RESTRICT;
462
 
463
ALTER TABLE sec_usuario_perfil
464
   ADD CONSTRAINT fk_usuarioperfil_usuario FOREIGN KEY (seq_usuario)
465
      REFERENCES sec_usuario (seq_usuario)
466
      ON DELETE RESTRICT ON UPDATE RESTRICT;
467
 
468
CREATE SEQUENCE sq_empresaadquirente
469
INCREMENT 1
470
minvalue 1
471
maxvalue 99999999
472
START 1;
473
 
474
/*==============================================================*/
475
/* Table: sec_empresa_adquirente                                */
476
/*==============================================================*/
477
CREATE TABLE sec_empresa_adquirente (
478
   seq_empresa_adquirente INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_empresaadquirente'::regclass),
479
   dsc_empresa_adquirente VARCHAR(120)         NOT NULL,
480
   ind_ativo            BOOL                 NOT NULL,
481
   CONSTRAINT pk_empresaadquirente PRIMARY KEY (seq_empresa_adquirente)
482
);
483
 
484
-- set table ownership
485
ALTER TABLE sec_empresa_adquirente owner TO labse_sc_lse
486
;
487
/*==============================================================*/
488
/* Index: ix_empresa_adquirente                                 */
489
/*==============================================================*/
490
CREATE UNIQUE INDEX ix_empresa_adquirente ON sec_empresa_adquirente (
491
seq_empresa_adquirente
492
);
493
 
494
CREATE SEQUENCE sq_maquineta
495
INCREMENT 1
496
minvalue 1
497
maxvalue 99999999
498
START 1;
499
 
500
/*==============================================================*/
501
/* Table: sec_maquineta                                         */
502
/*==============================================================*/
503
CREATE TABLE sec_maquineta (
504
   seq_maquineta        INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_maquineta'::regclass),
505
   seq_empresa_adquirente INT8                 NOT NULL,
506
   seq_pessoa           INT8                 NOT NULL,
507
   dsc_maquineta        VARCHAR(120)         NOT NULL,
508
   dsc_senha            VARCHAR(20)          NULL,
509
   val_aluguel          NUMERIC(10,2)        NULL,
510
   dsc_observacao       VARCHAR(400)         NULL,
511
   ind_ativo            BOOL                 NOT NULL,
512
   CONSTRAINT pk_maquineta PRIMARY KEY (seq_maquineta)
513
);
514
 
515
-- set table ownership
516
ALTER TABLE sec_maquineta owner TO labse_sc_lse
517
;
518
/*==============================================================*/
519
/* Index: ix_maquineta                                          */
520
/*==============================================================*/
521
CREATE UNIQUE INDEX ix_maquineta ON sec_maquineta (
522
seq_maquineta
523
);
524
 
525
/*==============================================================*/
526
/* Index: ix_maquineta_empresaadq                               */
527
/*==============================================================*/
528
CREATE  INDEX ix_maquineta_empresaadq ON sec_maquineta (
529
seq_empresa_adquirente
530
);
531
 
532
/*==============================================================*/
533
/* Index: ix_maquineta_pessoa                                   */
534
/*==============================================================*/
535
CREATE  INDEX ix_maquineta_pessoa ON sec_maquineta (
536
seq_pessoa
537
);
538
 
539
ALTER TABLE sec_maquineta
540
   ADD CONSTRAINT fk_maquineta_empresaadquirente FOREIGN KEY (seq_empresa_adquirente)
541
      REFERENCES sec_empresa_adquirente (seq_empresa_adquirente)
542
      ON DELETE RESTRICT ON UPDATE RESTRICT;
543
 
544
CREATE SEQUENCE sq_loja
545
INCREMENT 1
546
minvalue 1
547
maxvalue 99999999
548
START 1;
549
 
550
/*==============================================================*/
551
/* Table: sec_loja                                              */
552
/*==============================================================*/
553
CREATE TABLE sec_loja (
554
   seq_loja             INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_loja'::regclass),
555
   seq_pessoa           INT8                 NULL,
556
   seq_maquineta        INT8                 NULL,
557
   num_ordem            INT4                 NULL,
558
   dsc_loja             VARCHAR(120)         NOT NULL,
559
   dsc_dvr              VARCHAR(30)          NULL,
560
   dsc_internet         VARCHAR(50)          NULL,
561
   dsc_ip_internet      VARCHAR(20)          NULL,
562
   dat_abertura         DATE                 NULL,
563
   dat_abertura_oficial DATE                 NULL,
564
   dat_fechamento       DATE                 NULL,
565
   dat_fechamento_oficial DATE                 NULL,
566
   tip_emitir_nfe       CHAR(1)              NOT NULL
567
      CONSTRAINT ck_loja_emitir_nfe CHECK (tip_emitir_nfe IN ('T','O','P','C','N','X')),
568
   val_fundo_caixa      NUMERIC(10,2)        NULL,
569
   ind_ativo            BOOL                 NOT NULL,
570
   ind_receber_nf_remessa BOOL                 NOT NULL,
571
   dsc_certificado      VARCHAR(50)          NULL,
572
   dsc_senha_certificado VARCHAR(10)          NULL,
573
   dsc_idtoken          VARCHAR(10)          NULL,
574
   dsc_csctoken         VARCHAR(50)          NULL,
575
   qtd_limitador_produtos NUMERIC(5)           NULL,
576
   dsc_observacao       VARCHAR(400)         NULL,
577
   CONSTRAINT pk_loja PRIMARY KEY (seq_loja)
578
);
579
 
580
comment ON COLUMN sec_loja.tip_emitir_nfe IS
581
'Valores possíveis:
582
T - Todas as vendas
583
O - Vendas obrigatórias como: Cartão, produtos com garantia externa e etc
584
P - Produtos com garantia externa
585
C - Em contingência
586
N - Não emitir
587
X - Não permitir emissão';
588
 
589
-- set table ownership
590
ALTER TABLE sec_loja owner TO labse_sc_lse
591
;
592
/*==============================================================*/
593
/* Index: ix_loja                                               */
594
/*==============================================================*/
595
CREATE UNIQUE INDEX ix_loja ON sec_loja (
596
seq_loja
597
);
598
 
599
/*==============================================================*/
600
/* Index: ix_loja_pessoa                                        */
601
/*==============================================================*/
602
CREATE  INDEX ix_loja_pessoa ON sec_loja (
603
seq_pessoa
604
);
605
 
606
/*==============================================================*/
607
/* Index: ix_loja_maquineta                                     */
608
/*==============================================================*/
609
CREATE  INDEX ix_loja_maquineta ON sec_loja (
610
seq_maquineta
611
);
612
 
613
ALTER TABLE sec_loja
614
   ADD CONSTRAINT fk_loja_maquineta FOREIGN KEY (seq_maquineta)
615
      REFERENCES sec_maquineta (seq_maquineta)
616
      ON DELETE RESTRICT ON UPDATE RESTRICT;
617
 
618
ALTER TABLE sec_loja
619
   ADD CONSTRAINT fk_loja_pessoa FOREIGN KEY (seq_pessoa)
620
      REFERENCES sec_pessoa (seq_pessoa)
621
      ON DELETE RESTRICT ON UPDATE RESTRICT;
622
 
623
 
624
/*==============================================================*/
625
/* Table: sec_usuario_loja                                      */
626
/*==============================================================*/
627
CREATE TABLE sec_usuario_loja (
628
   seq_usuario          INT8                 NOT NULL,
629
   seq_loja             INT8                 NOT NULL,
630
   CONSTRAINT pk_usuario_loja PRIMARY KEY (seq_usuario, seq_loja)
631
);
632
 
633
-- set table ownership
634
ALTER TABLE sec_usuario_loja owner TO labse_sc_lse
635
;
636
/*==============================================================*/
637
/* Index: ix_usuarioloja                                        */
638
/*==============================================================*/
639
CREATE UNIQUE INDEX ix_usuarioloja ON sec_usuario_loja (
640
seq_usuario,
641
seq_loja
642
);
643
 
644
/*==============================================================*/
645
/* Index: ix_usuarioloja_usuario                                */
646
/*==============================================================*/
647
CREATE  INDEX ix_usuarioloja_usuario ON sec_usuario_loja (
648
seq_usuario
649
);
650
 
651
/*==============================================================*/
652
/* Index: ix_usuarioloja_loja                                   */
653
/*==============================================================*/
654
CREATE  INDEX ix_usuarioloja_loja ON sec_usuario_loja (
655
seq_loja
656
);
657
 
658
ALTER TABLE sec_usuario_loja
659
   ADD CONSTRAINT fk_usuarioloja_loja FOREIGN KEY (seq_loja)
660
      REFERENCES sec_loja (seq_loja)
661
      ON DELETE RESTRICT ON UPDATE RESTRICT;
662
 
663
ALTER TABLE sec_usuario_loja
664
   ADD CONSTRAINT fk_usuarioloja_usuario FOREIGN KEY (seq_usuario)
665
      REFERENCES sec_usuario (seq_usuario)
666
      ON DELETE RESTRICT ON UPDATE RESTRICT;
667
 
668
CREATE SEQUENCE sq_vendendor
669
INCREMENT 1
670
minvalue 1
671
maxvalue 99999999
672
START 1;
673
 
674
/*==============================================================*/
675
/* Table: sec_vendedor                                          */
676
/*==============================================================*/
677
CREATE TABLE sec_vendedor (
678
   seq_vendedor         INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_vendedor'::regclass),
679
   seq_pessoa           INT8                 NULL,
680
   seq_loja             INT8                 NULL,
681
   dsc_nome             VARCHAR(120)         NULL,
682
   ind_ativo            BOOL                 NOT NULL,
683
   ind_colaborador      BOOL                 NOT NULL,
684
   CONSTRAINT pk_vendedor PRIMARY KEY (seq_vendedor)
685
);
686
 
687
-- set table ownership
688
ALTER TABLE sec_vendedor owner TO labse_sc_lse
689
;
690
/*==============================================================*/
691
/* Index: ix_vendedor                                           */
692
/*==============================================================*/
693
CREATE UNIQUE INDEX ix_vendedor ON sec_vendedor (
694
seq_vendedor
695
);
696
 
697
/*==============================================================*/
698
/* Index: ix_vendedor_pessoa                                    */
699
/*==============================================================*/
700
CREATE  INDEX ix_vendedor_pessoa ON sec_vendedor (
701
seq_pessoa
702
);
703
 
704
/*==============================================================*/
705
/* Index: ix_vendedor_loja                                      */
706
/*==============================================================*/
707
CREATE  INDEX ix_vendedor_loja ON sec_vendedor (
708
seq_loja
709
);
710
 
711
ALTER TABLE sec_vendedor
712
   ADD CONSTRAINT fk_vendedor_pessoa FOREIGN KEY (seq_pessoa)
713
      REFERENCES sec_pessoa (seq_pessoa)
714
      ON DELETE RESTRICT ON UPDATE RESTRICT;
715
 
716
/*==============================================================*/
717
/* Table: sec_dre                                               */
718
/*==============================================================*/
719
CREATE TABLE sec_dre (
720
   cod_dre              INT8                 NOT NULL,
721
   dsc_dre              VARCHAR(120)         NOT NULL,
722
   num_ordem            INT2                 NULL,
723
   ind_ativo            BOOL                 NOT NULL,
724
   CONSTRAINT pk_dre PRIMARY KEY (cod_dre)
725
);
726
 
727
-- set table ownership
728
ALTER TABLE sec_dre owner TO labse_sc_lse
729
;
730
/*==============================================================*/
731
/* Index: ix_dre                                                */
732
/*==============================================================*/
733
CREATE UNIQUE INDEX ix_dre ON sec_dre (
734
cod_dre
735
);
736
 
737
 
738
CREATE SEQUENCE sq_categoria
739
INCREMENT 1
740
minvalue 1
741
maxvalue 99999999
742
START 1;
743
 
744
/*==============================================================*/
745
/* Table: sec_categoria                                         */
746
/*==============================================================*/
747
CREATE TABLE sec_categoria (
748
   seq_categoria        INT8                 NOT NULL DEFAULT NEXTVAL('sc_lse.sq_categoria'::regclass),
749
   seq_categoria_pai    INT8                 NULL,
750
   cod_dre              INT8                 NULL,
751
   dsc_categoria        VARCHAR(120)         NULL,
752
   tip_categoria        CHAR(1)              NULL
753
      CONSTRAINT ck_categoria_tipo CHECK (tip_categoria IS NULL OR (tip_categoria IN ('C','D'))),
754
   ind_ativo            BOOL                 NULL,
755
   CONSTRAINT pk_categoria PRIMARY KEY (seq_categoria)
756
);
757
 
758
comment ON COLUMN sec_categoria.tip_categoria IS
759
'Valores possíveis:
760
C - Crédito
761
D - Débito';
762
 
763
-- set table ownership
764
ALTER TABLE sec_categoria owner TO labse_sc_lse
765
;
766
/*==============================================================*/
767
/* Index: ix_categoria                                          */
768
/*==============================================================*/
769
CREATE UNIQUE INDEX ix_categoria ON sec_categoria (
770
seq_categoria
771
);
772
 
773
/*==============================================================*/
774
/* Index: ix_categoria_categoriapai                             */
775
/*==============================================================*/
776
CREATE  INDEX ix_categoria_categoriapai ON sec_categoria (
777
seq_categoria_pai
778
);
779
 
780
ALTER TABLE sec_categoria
781
   ADD CONSTRAINT fk_categoria_categoriapai FOREIGN KEY (seq_categoria_pai)
782
      REFERENCES sec_categoria (seq_categoria)
783
      ON DELETE RESTRICT ON UPDATE RESTRICT;
784
 
785
ALTER TABLE sec_categoria
786
   ADD CONSTRAINT fk_categoria_dre FOREIGN KEY (cod_dre)
787
      REFERENCES sec_dre (cod_dre)
788
      ON DELETE RESTRICT ON UPDATE RESTRICT;
789
 
790
 
791
 
792
 
793
SET search_path = public;