Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • garbus-wiki garbus-wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 35
    • Issues 35
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GarbUs
  • garbus-wikigarbus-wiki
  • Wiki
  • banco_dados

Last edited by Mario A. S. S. De Araujo Jun 25, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

banco_dados

Página Inicial

Página do Banco de Dados

Aqui deve ser explicado com modelos e explicações como o Banco de Dados foi construido, onde se deve focar em:

  • Como ele foi desenvolvido, com Imagens e Diagramas
  • o Collections(Entities)
  • o ScriptSQL

#Initial DB ` DROP TABLE IF EXISTS TIPOS_EVENTOS; DROP TABLE IF EXISTS USUARIO_ZONA CASCADE; DROP TABLE IF EXISTS TIPO_LIXEIRA CASCADE; DROP TABLE IF EXISTS PERFIS; DROP TABLE IF EXISTS EVENTOS; DROP TABLE IF EXISTS PREDIOS CASCADE; DROP TABLE IF EXISTS ZONAS CASCADE; DROP TABLE IF EXISTS USUARIOS CASCADE; DROP TABLE IF EXISTS LIXEIRA_STATUS CASCADE; DROP TABLE IF EXISTS LIXEIRA_EVENTOS; DROP TABLE IF EXISTS LIXEIRAS;

DROP SEQUENCE IF EXISTS SQ_TIPOS_EVENTOS; DROP SEQUENCE IF EXISTS SQ_ZONAS; DROP SEQUENCE IF EXISTS SQ_LIXEIRA_STATUS; DROP SEQUENCE IF EXISTS SQ_TIPO_LIXEIRA; DROP SEQUENCE IF EXISTS SQ_PERFIS; DROP SEQUENCE IF EXISTS SQ_EVENTOS; DROP SEQUENCE IF EXISTS SQ_PREDIOS; DROP SEQUENCE IF EXISTS SQ_USUARIOS; DROP SEQUENCE IF EXISTS SQ_USUARIO_ZONA; DROP SEQUENCE IF EXISTS SQ_LIXEIRAS; DROP SEQUENCE IF EXISTS SQ_LIXEIRA_EVENTOS;

/* CREATE TABLES */

CREATE TABLE TIPOS_EVENTOS ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL, DESCRICAO VARCHAR );

CREATE TABLE ZONAS ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL NOT NULL, DESCRICAO VARCHAR NOT NULL, LOCAL VARCHAR NOT NULL );

CREATE TABLE LIXEIRA_STATUS ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL, DESCRICAO VARCHAR NOT NULL );

CREATE TABLE TIPO_LIXEIRA ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL, DESCRICAO VARCHAR NOT NULL );

CREATE TABLE PERFIS ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL, DESCRICAO VARCHAR NOT NULL );

CREATE TABLE EVENTOS ( ID NUMBER PRIMARY KEY, DESCRICAO VARCHAR, DATA_CRIACAO TIMESTAMP NOT NULL, STATUS_PROBLEMA VARCHAR NOT NULL, ID_TIPO_EVENTOS NUMBER );

ALTER TABLE EVENTOS ADD CONSTRAINT FK_TIPO_EVENTOS FOREIGN KEY (ID_TIPO_EVENTOS) REFERENCES TIPOS_EVENTOS (ID);

CREATE TABLE PREDIOS ( ID NUMBER PRIMARY KEY, NOME VARCHAR NOT NULL, ID_ZONA NUMBER NOT NULL );

ALTER TABLE PREDIOS ADD CONSTRAINT FK_PREDIOS_ZONAS FOREIGN KEY (ID_ZONA) REFERENCES ZONAS (ID);

CREATE TABLE USUARIOS ( ID NUMBER PRIMARY KEY, EMAIL VARCHAR, NOME VARCHAR NOT NULL, LOGIN VARCHAR NOT NULL, SENHA VARCHAR NOT NULL, BLOQUEADO BOOLEAN NOT NULL DEFAULT FALSE, DT_CADASTRO TIMESTAMP NOT NULL, ID_PERFIL NUMBER );

ALTER TABLE USUARIOS ADD CONSTRAINT FK_USUARIOS_PERFIS FOREIGN KEY (ID_PERFIL) REFERENCES PERFIS (ID);

CREATE TABLE USUARIO_ZONA ( ID NUMBER PRIMARY KEY, ID_USUARIO NUMBER, ID_ZONA NUMBER );

ALTER TABLE USUARIO_ZONA ADD CONSTRAINT FK_USUARIO_ZONA FOREIGN KEY (ID_USUARIO) REFERENCES USUARIOS (ID);

ALTER TABLE USUARIO_ZONA ADD CONSTRAINT FK_ZONA_USUARIO FOREIGN KEY (ID_ZONA) REFERENCES USUARIOS (ID);

CREATE TABLE LIXEIRAS ( ID NUMBER PRIMARY KEY, MARCA VARCHAR NOT NULL, DESCRICAO VARCHAR NOT NULL, CAPACIDADE DOUBLE NOT NULL, OCUPACAO DOUBLE NOT NULL, ID_STATUS NUMBER, ID_TIPO NUMBER, ID_PREDIO NUMBER, ID_ZONA NUMBER );

ALTER TABLE LIXEIRAS ADD CONSTRAINT FK_LIXEIRAS_PREDIOS FOREIGN KEY (ID_PREDIO) REFERENCES PREDIOS (ID);

ALTER TABLE LIXEIRAS ADD CONSTRAINT FK_TIPO_LIV FOREIGN KEY (ID_TIPO) REFERENCES TIPO_LIXEIRA (ID);

ALTER TABLE LIXEIRAS ADD CONSTRAINT FK_LIXEIRA_STATUS FOREIGN KEY (ID_STATUS) REFERENCES LIXEIRA_STATUS (ID);

ALTER TABLE LIXEIRAS ADD CONSTRAINT FK_ZONAS_LIXEIRAS FOREIGN KEY (ID_ZONA) REFERENCES ZONAS (ID);

ALTER TABLE LIXEIRAS ADD CONSTRAINT LIXEIRA_PREDIO_OR_ZONA CHECK (ID_ZONA IS NULL OR ID_PREDIO IS NULL);

CREATE TABLE LIXEIRA_EVENTOS ( ID NUMBER PRIMARY KEY, ID_EVENTO NUMBER, ID_LIXEIRA NUMBER, ID_USUARIO NUMBER, OCUPACAO DOUBLE, DATA TIMESTAMP NOT NULL );

ALTER TABLE LIXEIRA_EVENTOS ADD CONSTRAINT FK_LIXEIRA_EVENTOS_EVENTOS FOREIGN KEY (ID_EVENTO) REFERENCES EVENTOS (ID);

ALTER TABLE LIXEIRA_EVENTOS ADD CONSTRAINT FK_LIXEIRA_EVENTOS_USUARIOS FOREIGN KEY (ID_USUARIO) REFERENCES USUARIOS (ID);

ALTER TABLE LIXEIRA_EVENTOS ADD CONSTRAINT FK_LIXEIRA_EVENTOS_LIXEIRA FOREIGN KEY (ID_LIXEIRA) REFERENCES LIXEIRAS (ID);

/* CREATE SEQUENCES */ CREATE SEQUENCE SQ_TIPOS_EVENTOS START 0; CREATE SEQUENCE SQ_ZONAS START 0; CREATE SEQUENCE SQ_LIXEIRA_STATUS START 0; CREATE SEQUENCE SQ_TIPO_LIXEIRA START 0; CREATE SEQUENCE SQ_PERFIS START 0; CREATE SEQUENCE SQ_EVENTOS START 0; CREATE SEQUENCE SQ_PREDIOS START 0; CREATE SEQUENCE SQ_USUARIOS START 0; CREATE SEQUENCE SQ_USUARIO_ZONA START 0; CREATE SEQUENCE SQ_LIXEIRAS START 0; CREATE SEQUENCE SQ_LIXEIRA_EVENTOS START 0;

/* INSERTS */

INSERT INTO TIPOS_EVENTOS VALUES (SQ_TIPOS_EVENTOS.nextval, 'Report Lixeira', 'Report de status da lixeira');

INSERT INTO TIPOS_EVENTOS VALUES (SQ_TIPOS_EVENTOS.nextval, 'Manutenção', 'Problemas no sensor');

INSERT INTO TIPOS_EVENTOS VALUES (SQ_TIPOS_EVENTOS.nextval, 'Fogo', 'Colocaram fogo na lixeira');

INSERT INTO TIPOS_EVENTOS VALUES (SQ_TIPOS_EVENTOS.nextval, 'Outros', 'Lixeira com infiltração');

INSERT INTO ZONAS VALUES (1, 'Norte', 'Prédios lado Bento Gonçalves', 'LTD; LGTD');

INSERT INTO ZONAS VALUES (2, 'Leste', 'Prédios lado Colégio', 'LTD; LGTD');

INSERT INTO ZONAS VALUES (3, 'Sul', 'Prédios lado Ipiranga', 'LTD; LGTD');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Cheia', 'Lixeira esta com capacidade acima de 80%');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Vazia', 'Lixeira esta com capacidade abaixo de 20%');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Manutenção', 'A lixiera esta em manutenção');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Ativa', 'A lixeira está em funcionamento');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Inativa', 'A lixeira está forá de funcionamento');

INSERT INTO LIXEIRA_STATUS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 'Excluida', 'A lixeira não existe');

INSERT INTO TIPO_LIXEIRA VALUES (1, 'Orgânica', 'Lixo Organico');

INSERT INTO TIPO_LIXEIRA VALUES (2, 'Reciclavel', 'Lixo Seco');

INSERT INTO PERFIS VALUES (1, 'Operador', 'Operador de lixo');

INSERT INTO PERFIS VALUES (2, 'Gestor', 'Gestor do sistema');

INSERT INTO EVENTOS VALUES (SQ_EVENTOS.nextval, 'REPORT', CURRENT_TIMESTAMP, 'A', 1);

INSERT INTO EVENTOS VALUES (SQ_EVENTOS.nextval, 'Problema na lixeira', CURRENT_TIMESTAMP, 'I', 2);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 30', 1);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 32', 1);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 17', 2);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 8', 3);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 7', 3);

INSERT INTO PREDIOS VALUES (SQ_PREDIOS.nextval, 'Prédio 6', 3);

INSERT INTO USUARIOS(ID, EMAIL, NOME, LOGIN, SENHA, DT_CADASTRO, ID_PERFIL) VALUES (1, '[email protected]', 'Mario Specht', 'mario.araujo', '102030', CURRENT_TIMESTAMP, 1);

INSERT INTO USUARIOS(ID, EMAIL, NOME, LOGIN, SENHA, DT_CADASTRO, ID_PERFIL) VALUES (2, '[email protected]', 'Gestor Teste', 'gestor.teste', '102030', CURRENT_TIMESTAMP, 2);

INSERT INTO USUARIO_ZONA VALUES (SQ_USUARIO_ZONA.nextval, 1, 1);

INSERT INTO USUARIO_ZONA VALUES (SQ_USUARIO_ZONA.nextval, 2, 1);

INSERT INTO LIXEIRAS VALUES (SQ_LIXEIRAS.nextval, 'Sanremo', 'Lixeira industrial sanremo', 50.0, 0.0, 4, 1, 1, NULL);

INSERT INTO LIXEIRAS VALUES (SQ_LIXEIRAS.nextval, 'Sanremo', 'Lixeira industrial sanremo', 80.0, 0.0, 2, 2, NULL, 2);

INSERT INTO LIXEIRA_EVENTOS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 1, 1, 1, 21.2, CURRENT_TIMESTAMP);

INSERT INTO LIXEIRA_EVENTOS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 1, 1, 1, 23.3, CURRENT_TIMESTAMP);

INSERT INTO LIXEIRA_EVENTOS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 1, 1, 1, 53.2, CURRENT_TIMESTAMP);

INSERT INTO LIXEIRA_EVENTOS VALUES (SQ_LIXEIRA_EVENTOS.nextval, 1, 1, 1, 13.8, CURRENT_TIMESTAMP);

COMMIT;`

Clone repository
  • Backend
  • Gerenciamento do Projeto
  • Solução de Problemas: Prettier e quebras de linha
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • Workshops
  • arquitetura
  • banco_dados
  • configuracao
  • Home
  • horarios
  • instalacao
  • mockups
  • requisitos
View All Pages