Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.59 KB | None | 0 0
  1.  
  2. CREATE TYPE endereco AS (
  3. pais character varying(45),
  4. rua character varying(255),
  5. cidade character varying(45),
  6. estado character varying(45),
  7. cep character varying(45)
  8. );
  9.  
  10. CREATE TYPE localizacao AS (
  11. pais character varying(45),
  12. rua character varying(255),
  13. cidade character varying(45),
  14. estado character varying(45),
  15. cep character varying(45),
  16. latitude numeric(22,16),
  17. longitude numeric(22,16)
  18. );
  19.  
  20. CREATE TABLE public.grupo (
  21. id serial PRIMARY KEY,
  22. nome character varying(150) NOT NULL
  23. );
  24.  
  25.  
  26. ALTER TABLE public.grupo OWNER TO postgres;
  27.  
  28.  
  29. CREATE TABLE public.grupo_permissao (
  30. id serial PRIMARY KEY,
  31. grupo_id integer NOT NULL,
  32. permissao_id integer NOT NULL
  33. );
  34.  
  35.  
  36. ALTER TABLE public.grupo_permissao OWNER TO postgres;
  37.  
  38.  
  39. CREATE TABLE public.permissao (
  40. id serial PRIMARY KEY,
  41. nome character varying(255) NOT NULL,
  42. codinome character varying(100) NOT NULL
  43. );
  44.  
  45.  
  46. ALTER TABLE public.permissao OWNER TO postgres;
  47.  
  48.  
  49. CREATE TABLE public.agressao (
  50. id serial PRIMARY KEY,
  51. nivel_de_confianca numeric(6,3),
  52. "hora" time NOT NULL,
  53. data date NOT NULL,
  54. usuaria_app_id integer,
  55. localizacao localizacao NOT NULL
  56. );
  57.  
  58.  
  59. ALTER TABLE public.agressao OWNER TO postgres;
  60.  
  61.  
  62. CREATE TABLE public.usuaria_app (
  63. id serial PRIMARY KEY,
  64. nome_completo character varying(255) NOT NULL,
  65. data_nascimento date,
  66. endereco endereco
  67. );
  68.  
  69.  
  70. ALTER TABLE public.usuaria_app OWNER TO postgres;
  71.  
  72.  
  73. CREATE TABLE public.usuario_portal (
  74. id serial PRIMARY KEY,
  75. senha character varying(128) NOT NULL,
  76. logado boolean NOT NULL,
  77. eh_superusuario boolean NOT NULL,
  78. usuario character varying(150) NOT NULL,
  79. email character varying(254) NOT NULL,
  80. e_equipe boolean NOT NULL,
  81. data_criacao timestamp NOT NULL,
  82. nome character varying(255) NOT NULL,
  83. endereco endereco
  84. );
  85.  
  86.  
  87. ALTER TABLE public.usuario_portal OWNER TO postgres;
  88.  
  89.  
  90. CREATE TABLE public.usuario_portal_grupos (
  91. id serial PRIMARY KEY,
  92. usuario_id integer NOT NULL,
  93. grupo_id integer NOT NULL
  94. );
  95.  
  96.  
  97. ALTER TABLE public.usuario_portal_grupos OWNER TO postgres;
  98.  
  99.  
  100. CREATE TABLE public.usuario_portal_usuario_permissao (
  101. id serial PRIMARY KEY,
  102. usuario_id integer NOT NULL,
  103. permissao_id integer NOT NULL
  104. );
  105.  
  106.  
  107. ALTER TABLE public.usuario_portal_usuario_permissao OWNER TO postgres;
  108.  
  109.  
  110. ALTER TABLE ONLY public.grupo_permissao
  111. ADD CONSTRAINT grupo_permissao_permissao_id_fk_perm FOREIGN KEY (permissao_id) REFERENCES public.permissao(id) DEFERRABLE INITIALLY DEFERRED;
  112.  
  113.  
  114. ALTER TABLE ONLY public.grupo_permissao
  115. ADD CONSTRAINT grupo_permissao_grupo_id_fk_grupo_id FOREIGN KEY (grupo_id) REFERENCES public.grupo(id) DEFERRABLE INITIALLY DEFERRED;
  116.  
  117. ALTER TABLE ONLY public.usuario_portal_grupos
  118. ADD CONSTRAINT usuario_portal_grupos_grupo_id_fk_grupo_id FOREIGN KEY (grupo_id) REFERENCES public.grupo(id) DEFERRABLE INITIALLY DEFERRED;
  119.  
  120.  
  121. ALTER TABLE ONLY public.usuario_portal_grupos
  122. ADD CONSTRAINT usuario_portal_grupos_usuario_id_fk_usuario_portal_id FOREIGN KEY (usuario_id) REFERENCES public.usuario_portal(id) DEFERRABLE INITIALLY DEFERRED;
  123.  
  124.  
  125. ALTER TABLE ONLY public.usuario_portal_usuario_permissao
  126. ADD CONSTRAINT usuario_portal_usuario_perm_permissao_id_fk_perm FOREIGN KEY (permissao_id) REFERENCES public.permissao(id) DEFERRABLE INITIALLY DEFERRED;
  127.  
  128.  
  129. ALTER TABLE ONLY public.usuario_portal_usuario_permissao
  130. ADD CONSTRAINT usuario_portal_usuario_permissao_usuario_id_fk_usuario_portal_id FOREIGN KEY (usuario_id) REFERENCES public.usuario_portal(id) DEFERRABLE INITIALLY DEFERRED;
  131.  
  132. ALTER TABLE ONLY public.agressao
  133. ADD CONSTRAINT agressao_usuaria_app_id_fk_usuaria_app_id FOREIGN KEY (usuaria_app_id) REFERENCES public.usuaria_app(id) DEFERRABLE INITIALLY DEFERRED;
  134.  
  135. ALTER TABLE ONLY public.usuario_portal
  136. ADD CONSTRAINT usuario_portal_email_unico UNIQUE (email);
  137.  
  138. ALTER TABLE ONLY public.usuario_portal
  139. ADD CONSTRAINT usuario_portal_usuario_unico UNIQUE (usuario);
  140.  
  141. INSERT INTO public.permissao (nome, codinome)
  142. VALUES
  143. ('pode adicionar permissao', 'adicionar_permissao'),
  144. ('pode mudar permissao', 'mudar_permissao'),
  145. ('pode deletar permissao', 'deletar_permissao'),
  146. ('pode ver permissao', 'ver_permissao'),
  147. ('pode adicionar agressao', 'adicionar_agressao'),
  148. ('pode mudar agressao', 'mudar_agressao'),
  149. ('pode deletar agressao', 'deletar_agressao'),
  150. ('pode ver agressao', 'ver_agressao'),
  151. ('pode adicionar usuario', 'adicionar_usuario'),
  152. ('pode mudar usuario', 'mudar_usuario'),
  153. ('pode deletar usuario', 'deletar_usuario'),
  154. ('pode ver usuario', 'ver_usuario')
  155. ;
  156.  
  157. INSERT INTO public.grupo (nome)
  158. VALUES
  159. ('delegado'),
  160. ('pesquisador'),
  161. ('admin')
  162. ;
  163.  
  164. INSERT INTO public.grupo_permissao (grupo_id, permissao_id)
  165. VALUES
  166. ((SELECT id FROM public.grupo WHERE nome='delegado'), (SELECT id FROM public.permissao WHERE codinome='ver_agressao')),
  167. ((SELECT id FROM public.grupo WHERE nome='pesquisador'), (SELECT id FROM public.permissao WHERE codinome='adicionar_agressao')),
  168. ((SELECT id FROM public.grupo WHERE nome='admin'), (SELECT id FROM public.permissao WHERE codinome='deletar_usuario'))
  169. ;
  170.  
  171. INSERT INTO public.usuario_portal (senha, logado, eh_superusuario, usuario, email, e_equipe, data_criacao, nome, endereco)
  172. VALUES
  173. ('12345678', TRUE, TRUE, 'usuarioteste 1', 'usuarioteste1@gmail.com', TRUE, '2009-04-30 02:33:21', 'teste um', ROW('pais 1', 'rua 1', 'cidade 1', 'estado 1', 'zipcode 1')),
  174. ('12345678', TRUE, TRUE, 'usuarioteste 2', 'usuarioteste2@gmail.com', TRUE, '2018-02-04 12:45:44', 'teste dois', ROW('pais 2', 'rua 2', 'cidade 2', 'estado 2', 'zipcode 2')),
  175. ('12345678', TRUE, TRUE, 'usuarioteste 3', 'usuarioteste3@gmail.com', TRUE, '2014-12-15 10:23:59', 'teste tres', ROW('pais 3', 'rua 3', 'cidade 3', 'estado 3', 'zipcode 3'))
  176. ;
  177.  
  178. INSERT INTO public.usuaria_app ( nome_completo, data_nascimento, endereco)
  179. VALUES
  180. ('teste 1', '2019-10-11', ROW('pais 1', 'rua 1', 'cidade 1', 'estado 1', 'zipcode 1')),
  181. ('teste 2', '2019-10-11', ROW('pais 2', 'rua 2', 'cidade 2', 'estado 2', 'zipcode 2')),
  182. ('teste 3', '2019-10-11', ROW('pais 3', 'rua 3', 'cidade 3', 'estado 3', 'zipcode 3'))
  183. ;
  184.  
  185.  
  186. INSERT INTO public.agressao ( nivel_de_confianca, hora, data, usuaria_app_id, localizacao)
  187. VALUES
  188. (0.738, '14:30:00', '2019-10-10', (SELECT id FROM public.usuaria_app WHERE nome_completo='teste 1'), ROW('pais 1', 'rua 1', 'cidade 1', 'estado 1', 'zipcode 1', -8.144846, -34.905322))
  189. ;
  190.  
  191. --('teste 2', '2019-10-11', ROW('pais 2', 'rua 2', 'cidade 2', 'estado 2', 'zipcode 2')),
  192. --('teste 3', '2019-10-11', ROW('pais 3', 'rua 3', 'cidade 3', 'estado 3', 'zipcode 3'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement