· 7 years ago · Sep 07, 2018, 04:38 PM
1ALTER TABLE admingesleade.dimensao_bsc DROP COLUMN IF EXISTS modulo;
2ALTER TABLE admingesleade.dimensao_bsc add COLUMN modulo varchar(4) ;
3
4
5drop table if exists admingesleade.respostas_avaliacoes;
6drop table if exists admingesleade.questoes_criterios;
7drop table if exists admingesleade.criterios_avaliacao_questionario;
8update admingesleade.documento set id_avaliacao = null where id_avaliacao is not null;
9drop table if exists admingesleade.criterios_avaliacoes;
10drop table if exists admingesleade.modelos_avaliacao_tipo_documento;
11drop table if exists admingesleade.modelos_avaliacao_subtipos_documento;
12ALTER TABLE admingesleade.documento DROP CONSTRAINT IF EXISTS documento_avaliacoes_id_fk;
13drop table if exists admingesleade.modelos_avaliacao CASCADE;
14drop table if exists admingesleade.avaliacoes;
15
16
17create table if not exists admingesleade.modelos_avaliacao
18(
19 id serial not null
20 constraint modelos_avaliacao_pkey
21 primary key,
22 titulo varchar(130) not null,
23 id_organizacao integer
24 constraint modelos_avaliacao_organizacao_id_organizacao_fk
25 references admingesleade.organizacao,
26 ativo boolean default true not null
27)
28;
29
30create unique index if not exists modelos_avaliacao_id_uindex
31 on admingesleade.modelos_avaliacao (id)
32;
33
34create table if not exists admingesleade.modelos_avaliacao_subtipos_documento
35(
36 id_subtipo integer not null
37 constraint modelos_avaliacao_subtipos_documento_sub_tipo_documento_id_sub_
38 references admingesleade.sub_tipo_documento,
39 id_modelo_avaliacao integer not null
40 constraint modelos_avaliacao_subtipos_documento_modelos_avaliacao_id_fk
41 references admingesleade.modelos_avaliacao,
42 constraint modelos_avaliacao_subtipos_documento_id_subtipo_id_modelo_avali
43 primary key (id_subtipo, id_modelo_avaliacao)
44)
45;
46
47create table if not exists admingesleade.modelos_avaliacao_tipo_documento
48(
49 id_tipo_documento integer not null
50 constraint modelos_avaliacao_tipo_documento_tipo_documento_id_tipo_documen
51 references admingesleade.tipo_documento,
52 id_modelo_avaliacao integer not null
53 constraint modelos_avaliacao_tipo_documento_modelos_avaliacao_id_fk
54 references admingesleade.modelos_avaliacao
55)
56;
57
58
59create table if not exists admingesleade.avaliacoes
60(
61 id serial not null
62 constraint avaliacoes_pkey
63 primary key,
64 id_modelo integer
65 constraint avaliacoes_modelos_avaliacao_id_fk
66 references admingesleade.modelos_avaliacao,
67 id_documento integer not null
68 constraint avaliacoes_documento_id_documento_fk
69 references admingesleade.documento,
70 ordem integer default 0 not null
71)
72;
73
74-- avaliações
75
76create unique index if not exists avaliacoes_id_uindex
77 on admingesleade.avaliacoes (id)
78;
79
80
81create index if not exists avaliacoes_id_documento_index
82 on admingesleade.avaliacoes (id_documento)
83;
84
85
86-- respostas das avaliações
87
88create table if not exists admingesleade.respostas_avaliacoes
89(
90 id serial not null
91 constraint respostas_avaliacoes_pkey
92 primary key,
93 resposta text,
94 tipo_pergunta integer not null,
95 pergunta text not null,
96 id_avaliacao integer,
97 id_criterio integer,
98 escolhas integer[]
99)
100;
101
102create unique index if not exists respostas_avaliacoes_id_uindex
103 on admingesleade.respostas_avaliacoes (id)
104;
105
106
107create table if not exists admingesleade.criterios_avaliacoes
108(
109 id serial not null
110 constraint criterios_avaliacoes_pkey
111 primary key,
112 titulo text not null,
113 descricao text,
114 nota_maxima integer,
115 obrigatorio boolean default false not null,
116 tipo integer not null,
117 ordem integer not null,
118 id_modelo_avaliacao integer
119 constraint criterios_avaliacoes_modelos_avaliacao_id_fk
120 references admingesleade.modelos_avaliacao
121)
122;
123
124-- criterios_avaliacao_questionario
125
126create table if not exists admingesleade.criterios_avaliacao_questionario
127(
128 id_criterio integer
129 constraint criterios_avaliacao_questionario_criterios_avaliacoes_id_fk
130 references admingesleade.criterios_avaliacoes,
131 id_avaliacao integer
132 constraint criterios_avaliacao_questionario_avaliacoes_id_fk
133 references admingesleade.avaliacoes
134)
135;
136
137
138
139
140comment on column admingesleade.criterios_avaliacoes.tipo is '1 - TEXTO CURTO / 2 - TEXTO LONGO / 3 - MULTIPLA ESCOLHA / 4 - NOTAS (ESTRELAS) / 5 - ESCOLHA ÚNICA'
141;
142
143create unique index criterios_avaliacoes_id_uindex
144 on admingesleade.criterios_avaliacoes (id)
145;
146
147
148-- admingesleade.questoes_criterios
149
150create table if not exists admingesleade.questoes_criterios
151(
152 id serial not null
153 constraint questoes_criterios_pkey
154 primary key,
155 questao varchar(100) not null,
156 ordem integer not null,
157 id_criterio integer not null
158 constraint questoes_criterios_criterios_avaliacoes_id_fk
159 references admingesleade.criterios_avaliacoes
160)
161;
162
163create unique index if not exists questoes_criterios_id_uindex
164 on admingesleade.questoes_criterios (id)
165;
166
167ALTER TABLE admingesleade.documento
168ADD CONSTRAINT documento_avaliacoes_id_fk
169FOREIGN KEY (id_avaliacao) REFERENCES admingesleade.avaliacoes (id);