cadastrodeusuarios.sql
2.35 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
/* drop tables */
drop table i3geousr_grupotema;
drop table i3geousr_grupousuario;
drop table i3geousr_grupos;
drop table i3geousr_operacoespapeis;
drop table i3geousr_operacoes;
drop table i3geousr_papelusuario;
drop table i3geousr_papeis;
drop table i3geousr_usuarios;
/* create tables */
-- grupos de usuários
create table i3geousr_grupos
(
-- identificador único do grupo
id_grupo integer not null unique primary key autoincrement,
-- nome do grupo
nome text,
-- descricao do grupo
descricao text
);
-- define os grupos que podem utilizar os temas (mapfiles)
create table i3geousr_grupotema
(
-- identificador único do grupo
id_grupo integer not null,
-- código do tema na tabela i3geoadmin_temas
id_tema integer not null,
foreign key (id_grupo)
references i3geousr_grupos (id_grupo)
);
-- cadastro de usuários
create table i3geousr_usuarios
(
id_usuario integer not null unique primary key autoincrement,
-- 0 ou 1 indicando se o usuário está ativo ou não
ativo numeric not null,
-- data do cadastro do usuário
data_cadastro text,
email text,
-- login do usuário
login text not null,
-- nome real do usuário
nome_usuario text,
senha text not null
);
create table i3geousr_grupousuario
(
id_usuario integer not null,
-- identificador único do grupo
id_grupo integer not null,
foreign key (id_grupo)
references i3geousr_grupos (id_grupo),
foreign key (id_usuario)
references i3geousr_usuarios (id_usuario)
);
-- cadastro de operações do sistema
create table i3geousr_operacoes
(
id_operacao integer not null unique primary key autoincrement,
-- código da operação
codigo text,
descricao text
);
-- cadastro de papéis que permitem definir as operações
create table i3geousr_papeis
(
id_papel integer not null unique,
nome text not null unique,
descricao text
);
create table i3geousr_operacoespapeis
(
id_operacao integer not null,
id_papel integer not null,
foreign key (id_papel)
references i3geousr_papeis (id_papel),
foreign key (id_operacao)
references i3geousr_operacoes (id_operacao)
);
create table i3geousr_papelusuario
(
id_usuario integer not null,
id_papel integer not null,
foreign key (id_papel)
references i3geousr_papeis (id_papel),
foreign key (id_usuario)
references i3geousr_usuarios (id_usuario)
);