Subversion Repositories Integrator Subversion

Rev

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