Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • D DoAÇÃO Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • 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
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DoAÇÃO
  • DoAÇÃO Wiki
  • Wiki
  • banco_dados

Last edited by Adriana Anacleto Serpa Nov 25, 2022
Page history
This is an old version of this page. You can view the most recent version or browse the history.

banco_dados

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Código BD Qualidade Utilização

Banco de Dados

Descrição

Aqui se encontra a modelagem, documentação e organização do banco de dados.

Ferramentas e Linguagens

PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto (DBMS) desenvolvido por uma equipe mundial de voluntários. ... Suporta texto, imagens, sons e vídeo e inclui interfaces de programação para C / C ++, Java, Perl, Python, Ruby, Tcl e Open Database Connectivity (ODBC). No contexto do projeto Alpha foi escolhido como a implementação do banco de dados.

Heroku é uma plataforma de nuvem como serviço (PaaS) que suporta várias linguagens de programação. Uma das primeiras plataformas em nuvem, o Heroku está em desenvolvimento desde junho de 2007, quando suportava apenas a linguagem de programação Ruby, mas agora suporta Java, Node.js, Scala, Clojure, Python, PHP e Go. Por esse motivo, o Heroku é considerado uma plataforma poliglota, pois possui recursos para um desenvolvedor criar, executar e dimensionar aplicativos de maneira semelhante na maioria dos idiomas.

DBeaver é um aplicativo de software cliente SQL e uma ferramenta de administração de banco de dados. Para bancos de dados relacionais, ele usa a interface de programação de aplicativos (API) JDBC para interagir com bancos de dados por meio de um driver JDBC. Para outros bancos de dados (NoSQL) ele usa drivers de banco de dados proprietários. Ele fornece um editor que suporta preenchimento de código e realce de sintaxe. Ele fornece uma arquitetura de plug-in (baseada na arquitetura de plug-ins do Eclipse) que permite que os usuários modifiquem grande parte do comportamento do aplicativo para fornecer funcionalidades específicas do banco de dados ou recursos independentes do banco de dados. Este é um aplicativo de desktop escrito em Java e baseado na plataforma Eclipse.

Astah/Professional é a versão de produto do JUDE com todos os recursos do JUDE/Community mais aprimoramentos. Possui recursos como entrada-saída e orientação para criação de diagramas. É adequado para uso comercial, modelos de grande porte e criação de documentos.

Modelagem

Aqui se encontra toda a modelagem do banco de dados da plataforma Doação.

Clique na imagem para ampliar.

Optamos por usar um banco relacional, pois seria melhor, tendo em vista que o banco iria possuir várias relações entre as diferentes tabelas existentes, então, para facilitar o trabalho optamos por usar o PostgreSQL.

Scripts de criação para as tabelas

Tabela Administrator

-- public.administrator definition

-- Drop table

-- DROP TABLE public.administrator;

CREATE TABLE public.administrator (

id_user int4 NOT NULL,
name varchar(200) NOT NULL,
email varchar(200) NOT NULL,
id_adm int4 NOT NULL,
CONSTRAINT administrator_pk 
PRIMARY KEY (id_adm)

);

-- public.administrator foreign keys

ALTER TABLE public.administrator ADD CONSTRAINT fk_id_user FOREIGN KEY (id_user) REFERENCES public.users(id_user);

Tabela Institution

-- public.institution definition

-- Drop table

-- DROP TABLE public.institution;

CREATE TABLE public.institution (

id_institution int4 NOT NULL,
id_user int4 NOT NULL,
email varchar(200) NOT NULL,
"name" varchar(200) NOT NULL,
cnpj varchar(14) NULL,
whatsapp varchar(20) NULL,
street varchar(200) NOT NULL,
city varchar(200) NOT NULL,
state varchar(50) NOT NULL,
status varchar(1) NULL,
created_time date NULL,
phone varchar(255) NOT NULL,
complement varchar(255) NULL,
website varchar(255) NULL,
social_media varchar(255) NULL,
other_social_media varchar(255) NULL,
description varchar(255) NOT NULL,
cep varchar(255) NOT NULL,
district varchar(255) NOT NULL,
CONSTRAINT pk_institution 
PRIMARY KEY (id_institution)

);

-- public.institution foreign keys

ALTER TABLE public.institution ADD CONSTRAINT fk_user_institution FOREIGN KEY (id_user) REFERENCES public.users(id_user);

Tabela Item_Solicitation

-- public.item_solicitation definition

-- Drop table

-- DROP TABLE public.item_solicitation;

CREATE TABLE public.item_solicitation (

id_item_solicitation int4 NOT NULL,
id_institution int4 NOT NULL,
created_time date NOT NULL,
item varchar(255) NOT NULL,
status varchar(1) NOT NULL,
CONSTRAINT pk_item_solicitation 
PRIMARY KEY (id_item_solicitation)

);

-- public.item_solicitation foreign keys

ALTER TABLE public.item_solicitation ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution);

Tabela Itens

-- public.itens definition

-- Drop table

-- DROP TABLE public.itens;

CREATE TABLE public.itens (

id_item int4 NOT NULL,
"name" varchar(255) NOT NULL,
limit_itens int4 NOT NULL,
unit_measurement varchar(255) NOT NULL,
CONSTRAINT pk_itens
PRIMARY KEY (id_item)

);

Tabela Product_Details_Order

-- public.product_details_order definition

-- Drop table

-- DROP TABLE public.product_details_order;

CREATE TABLE public.product_details_order (

id_product_details_order int4 NOT NULL,
id_institution int4 NOT NULL,
is_urgent bool NOT NULL,
created_time date NOT NULL,
limit_date date NOT NULL,
status varchar(1) NOT NULL,
description varchar(512) NULL,
CONSTRAINT pk_id_product_details_order 
PRIMARY KEY (id_product_details_order)

);

-- public.product_details_order foreign keys

ALTER TABLE public.product_details_order ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution);

Tabela Product_Interest

-- public.product_interest definition

-- Drop table

-- DROP TABLE public.product_interest;

CREATE TABLE public.product_interest (

id_product_interest int4 NOT NULL,
id_item int4 NOT NULL,
quantity int4 NOT NULL,
id_product_order_interest int4 NULL,
CONSTRAINT product_interest_pkey 
PRIMARY KEY (id_product_interest, id_item)

);

-- public.product_interest foreign keys

ALTER TABLE public.product_interest ADD CONSTRAINT fk8uaemq3seveakutup5mmcb5mb FOREIGN KEY (id_product_order_interest) REFERENCES public.product_order_interest(id_product_order_interest); ALTER TABLE public.product_interest ADD CONSTRAINT product_interest_id_item_fkey FOREIGN KEY (id_item) REFERENCES public.itens(id_item);

Tabela Product_Order_Interest

-- public.product_order_interest definition

-- Drop table

-- DROP TABLE public.product_order_interest;

CREATE TABLE public.product_order_interest (

id_product_order_interest int4 NOT NULL,
active bool NULL,
email varchar(255) NULL,
"name" varchar(255) NULL,
phone varchar(255) NULL,
id_institution int4 NULL,
id_product_details_order int4 NULL,
CONSTRAINT product_order_interest_pkey 
PRIMARY KEY (id_product_order_interest)

);

-- public.product_order_interest foreign keys

ALTER TABLE public.product_order_interest ADD CONSTRAINT fk26gn4wcp72y1uioei71qai8jc FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_order_interest ADD CONSTRAINT fkjarf6gmmnmylutf00f8br8pxc FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order);

Tabela Product_Order_Interest_Lines

-- public.product_order_interest definition

-- Drop table

-- DROP TABLE public.product_order_interest;

CREATE TABLE public.product_order_interest (

id_product_order_interest int4 NOT NULL,
active bool NULL,
email varchar(255) NULL,
"name" varchar(255) NULL,
phone varchar(255) NULL,
id_institution int4 NULL,
id_product_details_order int4 NULL,
CONSTRAINT product_order_interest_pkey 
PRIMARY KEY (id_product_order_interest)

);

-- public.product_order_interest foreign keys

ALTER TABLE public.product_order_interest ADD CONSTRAINT fk26gn4wcp72y1uioei71qai8jc FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_order_interest ADD CONSTRAINT fkjarf6gmmnmylutf00f8br8pxc FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order);

Tabela Product_Quantity_Order

-- public.product_quantity_order definition

-- Drop table

-- DROP TABLE public.product_quantity_order;

CREATE TABLE public.product_quantity_order (

id_product_details_order int4 NOT NULL,
id_institution int4 NOT NULL,
id_item int4 NOT NULL,
qtd_products_received int4 NOT NULL,
qtd_products_missing int4 NOT NULL,
qtd_products_solicited int4 NOT NULL,
id_product_quantity_order int4 NOT NULL,
observations varchar(500) NULL,
CONSTRAINT pk_id_product_quantity_order 
PRIMARY KEY (id_institution, id_product_details_order, id_item)

);

-- public.product_quantity_order foreign keys

ALTER TABLE public.product_quantity_order ADD CONSTRAINT fk5p6yfpfrrmtcu7vmsgy00mx0a FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.product_quantity_order ADD CONSTRAINT fk_id_item FOREIGN KEY (id_item) REFERENCES public.itens(id_item); ALTER TABLE public.product_quantity_order ADD CONSTRAINT fkq6rwtnw2dcsmxiylhk91ha29r FOREIGN KEY (id_product_details_order) REFERENCES public.product_details_order(id_product_details_order);

Tabela Service

-- public.service definition

-- Drop table

-- DROP TABLE public.service;

CREATE TABLE public.service (

id_service int4 NOT NULL,
"name" varchar(255) NOT NULL,
limit_service int4 NOT NULL,
CONSTRAINT pk_service 
PRIMARY KEY (id_service)

);

Tabela Service_Details_Order

-- public.service_details_order definition

-- Drop table

-- DROP TABLE public.service_details_order;

CREATE TABLE public.service_details_order (

id_service_details_order int4 NOT NULL,
id_institution int4 NOT NULL,
is_urgent bool NOT NULL,
created_time date NOT NULL,
limit_date date NOT NULL,
status varchar(1) NOT NULL,
description varchar(512) NULL,
is_active bool NULL,
CONSTRAINT pk_id_service_details_order 
PRIMARY KEY (id_service_details_order)

);

-- public.service_details_order foreign keys

ALTER TABLE public.service_details_order ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution);

Tabela Service_Interest

-- public.service_interest definition

-- Drop table

-- DROP TABLE public.service_interest;

CREATE TABLE public.service_interest (

id_service_interest int4 NOT NULL,
quantity int4 NULL,
id_service int4 NULL,
id_service_order_interest int4 NULL,
CONSTRAINT service_interest_pkey 
PRIMARY KEY (id_service_interest)

);

-- public.service_interest foreign keys

ALTER TABLE public.service_interest ADD CONSTRAINT fk217hs1gec0eerdr2uvy0301ks FOREIGN KEY (id_service_order_interest) REFERENCES public.service_order_interest(id_service_order_interest); ALTER TABLE public.service_interest ADD CONSTRAINT fkso5g3wlnhy0s6h70a3murhm3w FOREIGN KEY (id_service) REFERENCES public.service(id_service);

Tabela Service_Order_Interest

-- public.service_order_interest definition

-- Drop table

-- DROP TABLE public.service_order_interest;

CREATE TABLE public.service_order_interest (

id_service_order_interest int4 NOT NULL,
active varchar(255) NULL,
email varchar(255) NULL,
"name" varchar(255) NULL,
phone varchar(255) NULL,
id_institution int4 NULL,
id_service_details_order int4 NULL,
CONSTRAINT service_order_interest_pkey 
PRIMARY KEY (id_service_order_interest)

);

-- public.service_order_interest foreign keys

ALTER TABLE public.service_order_interest ADD CONSTRAINT fk1ae2kg6aqtjwoygscfpq0g4b2 FOREIGN KEY (id_service_details_order) REFERENCES public.service_details_order(id_service_details_order); ALTER TABLE public.service_order_interest ADD CONSTRAINT fkksrqtdfah0im5bay2xbtou6wv FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution);

Tabela Service_Quantity_Order

-- public.service_quantity_order definition

-- Drop table

-- DROP TABLE public.service_quantity_order;

CREATE TABLE public.service_quantity_order (

id_service_quantity_order int4 NOT NULL,
id_service_details_order int4 NOT NULL,
id_institution int4 NOT NULL,
id_service int4 NOT NULL,
qtd_service_received int4 NOT NULL,
qtd_service_missing int4 NOT NULL,
qtd_service_solicited int4 NOT NULL,
observations varchar(500) NULL,
CONSTRAINT pk_id_service_quantity_order 
PRIMARY KEY (id_institution, id_service_quantity_order, id_service, id_service_details_order)

);

-- public.service_quantity_order foreign keys

ALTER TABLE public.service_quantity_order ADD CONSTRAINT fk_id_service FOREIGN KEY (id_service) REFERENCES public.service(id_service); ALTER TABLE public.service_quantity_order ADD CONSTRAINT fkjvrbu0h6psnqanw5yslqtu6xv FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution); ALTER TABLE public.service_quantity_order ADD CONSTRAINT fkrnho2x8h2w1a25vxsnuf1crau FOREIGN KEY (id_service_details_order) REFERENCES public.service_details_order(id_service_details_order);

Tabela Service_Solicitation

-- public.service_solicitation definition

-- Drop table

-- DROP TABLE public.service_solicitation;

CREATE TABLE public.service_solicitation (

id_service_solicitation int4 NOT NULL,
id_institution int4 NOT NULL,
created_time date NOT NULL,
service varchar(255) NOT NULL,
status varchar(255) NULL,
CONSTRAINT pk_service_solicitation 
PRIMARY KEY (id_service_solicitation)

);

-- public.service_solicitation foreign keys

ALTER TABLE public.service_solicitation ADD CONSTRAINT fk_id_institution FOREIGN KEY (id_institution) REFERENCES public.institution(id_institution);

Tabela Users

-- public.users definition

-- Drop table

-- DROP TABLE public.users;

CREATE TABLE public.users (

id_user int4 NOT NULL,
login varchar(150) NOT NULL,
"password" varchar(150) NOT NULL,
isadmin bool NULL,
CONSTRAINT pk_users 
PRIMARY KEY (id_user)

);

Clone repository
  • Gerência
  • Instalação
  • Retro
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo e retrospectivas
  • escopo
  • estudos
  • gerencia
View All Pages