metaestat.sql
4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/* drop tables */
drop table i3geoestat_dimensao_medida;
drop table i3geoestat_medida_variavel;
drop table i3geoestat_tipo_regiao;
drop table i3geoestat_conexao;
drop table i3geoestat_tipo_periodo;
drop table i3geoestat_unidade_medida;
drop table i3geoestat_variavel;
/* create tables */
-- lista controlada dos parâmetros de conexão com o banco de dados onde residem dados
create table i3geoestat_conexao
(
codigo_estat_conexao integer not null unique primary key autoincrement,
-- nome do banco de dados
bancodedados text,
-- endereço do servidor
host text,
-- porta de comunicação
porta text,
-- nome do usuário que pode acessar o banco
usuario text,
-- senha do usuário que pode acessar o banco
senha text
);
-- identifica as tabelas que possuem colunas com geometrias de determinado local ou região
create table i3geoestat_tipo_regiao
(
codigo_tipo_regiao integer not null unique primary key autoincrement,
nome_tipo_regiao text,
descricao_tipo_regiao text,
codigo_estat_conexao integer,
-- esquema onde encontra-se a tabela com a geometria
esquemadb text,
-- tabela que contém a coluna com a geometria
tabela text,
-- coluna com a geometria da região
colunageo text,
-- data do mapeamento da região
data text,
-- id da tabela onde está a coluna com a geometria e que identifica a região de forma única
identificador integer,
-- coluna que contém o nome de cada região ou local
colunanomeregiao text,
-- código srid correspondente à projeção cartográfica da coluna com a geometria
srid text default '4326',
foreign key (codigo_estat_conexao)
references i3geoestat_conexao (codigo_estat_conexao)
);
-- lista controlada de tipos de período de tempo
create table i3geoestat_tipo_periodo
(
codigo_tipo_periodo integer not null unique primary key autoincrement,
nome text,
descricao text
);
-- tabela com o nome e descrição de uma variável variável
create table i3geoestat_variavel
(
codigo_variavel integer not null unique primary key autoincrement,
nome text,
descricao text
);
create table i3geoestat_unidade_medida
(
codigo_unidade_medida integer not null unique primary key autoincrement,
nome text,
sigla text,
-- o tipo de unidade permite que os valores sejam somados? (0 ou 1)
permitesoma integer default 0,
-- o tipo de unidade permite o cálculo de média aritmética? (0 ou 1)
permitemedia integer default 0
);
-- descreve as colunas que contém valores de algum tipo de medida, por exemplo população residente
create table i3geoestat_medida_variavel
(
id_medida_variavel integer not null unique primary key autoincrement,
codigo_unidade_medida integer,
codigo_tipo_periodo integer,
codigo_variavel integer,
codigo_tipo_regiao integer,
codigo_estat_conexao integer,
-- esquema no banco de dados que contem a tabela
esquemadb text,
-- tabela no banco de dados que contém a coluna
tabela text,
-- nome da colouna que contém os valores da variável
colunavalor text,
-- nome da coluna, na mesma tabela onde estão os valores, que identifica unicamente a região geográfica
colunaidgeo text,
-- filtro opcional que será utilizado na cláusula where
filtro text,
-- titulo da medida
nomemedida text,
foreign key (codigo_tipo_regiao)
references i3geoestat_tipo_regiao (codigo_tipo_regiao),
foreign key (codigo_tipo_periodo)
references i3geoestat_tipo_periodo (codigo_tipo_periodo),
foreign key (codigo_estat_conexao)
references i3geoestat_conexao (codigo_estat_conexao),
foreign key (codigo_variavel)
references i3geoestat_variavel (codigo_variavel),
foreign key (codigo_unidade_medida)
references i3geoestat_unidade_medida (codigo_unidade_medida)
);
create table i3geoestat_dimensao_medida
(
id_dimensao_medida integer not null unique primary key autoincrement,
coluna text,
nomedimensao text,
descricao text,
-- (0 ou 1) indica se a coluna de valores da variável deve ser agregada ou não (soma dos valores ou média) conforme o tipo de unidade de medida
agregavalores integer default 0,
id_medida_variavel integer,
foreign key (id_medida_variavel)
references i3geoestat_medida_variavel (id_medida_variavel)
);