Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W 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
  • Excedentes
  • Wiki
  • Wiki
  • Banco de Dados

Last edited by Gabriel Fernando Giaretta Jun 26, 2024
Page history

Banco de Dados

Ferramentas Escolhidas

O PostgreSQL é uma ferramenta que atua como sistema de gerenciamento de bancos de dados relacionados. Seu foco é permitir implementação da linguagem SQL em estruturas, garantindo um trabalho com os padrões desse tipo de ordenação dos dados. Tem o papel de gerenciar os dados desses bancos de maneira organizada e eficaz, rodando e gravando todas as informações que ficam registradas nesses compartimentos. Por meio desse sistema, usuários podem executar consultas de maneira simples, sem precisar acessar diretamente o banco de dados.

O Adminer é uma ferramenta completa para administração de banco de dados, desenvolvido em PHP. Ao contrário do phpMyAdmin, o Adminer é constituído em um único arquivo, pronto para ser implantado no servidor. O Adminer está disponível para MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB e outros via plugin.

O dbdiagram.io é uma ferramenta online intuitiva e gratuita, projetada para simplificar a criação de diagramas de banco de dados. Ideal para desenvolvedores, analistas de sistemas e qualquer profissional envolvido no design de estruturas de dados, essa plataforma permite aos usuários desenhar rapidamente modelos de banco de dados por meio de uma interface visualmente clara e fácil de usar.

é uma ferramenta que facilita a definição e execução de aplicações multi-contêineres Docker. Com ele, é possível configurar todos os serviços de que sua aplicação depende (como bancos de dados, filas de trabalho, caches, etc.) em um único arquivo docker-compose.yml. Além de ser projetado para facilitar o desenvolvimento e teste de aplicações que requerem um banco de dados PostgreSQL, fornecendo uma maneira fácil de gerenciar o banco de dados por meio de uma interface web.

Modelagem

Optamos por criar um banco de dados relacional, tendo em vista que o banco possui várias relações entre as diferentes tabelas existentes que compõem o projeto Excedentes.

Modelo ER

bddNovo

Para ver com mais detalhes sobre este modelo, clique aqui

Scripts de criação das tabelas

Table clientes {
  id integer [increment, primary key]
  tipo_cliente enum('Pessoa Fisica', 'Pessoa Juridica') [not null]
  nome varchar2 [not null]
  cpf_cnpj varchar2 [not null, unique]
  email varchar2 [not null, unique]
  senha varchar2 [not null]
  isOng bool [not null]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
  deletedAt timestamp
}
Table pedidos {
  id integer [increment, primary key]
  id_cliente integer [not null]
  codigo integer [not null]
  valor_total double [not null]
  data date [not null]
  aberto bool [not null]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
}
Table alimentos {
  id integer [primary key, not null]
  id_empresa integer [not null]
  nome varchar2 [not null]
  descricao varchar2 [not null]
  preco double [not null]
  quantidade integer [not null]
  marca varchar2 [not null]
  data_validade date [not null]
  categoria varchar2 [not null]
  foto varchar2
  cod_barras varchar2 [not null]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
  deletedAt timestamp
}
Table item_pedido {
  id integer [increment, primary key]
  id_pedido integer [not null]
  id_alimento integer [not null]
  quantidade integer [not null]
  preco_unitario double [not null]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
}
Table empresas {
  id integer [increment, primary key]
  nome varchar2 [not null]
  cnpj varchar2 [not null, unique]
  email varchar2 [not null, unique]
  senha varchar2 [not null]
  horario_comercial varchar2 [not null]
  id_endereco integer [not null, unique]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
  deletedAt timestamp
}
Table enderecos {
  id integer [increment, primary key]
  nome_formatado varchar2 [not null]
  latitude double [not null]
  longitude double [not null]
  createdAt timestamp [not null]
  updatedAt timestamp [not null]
}
Ref: empresas.id_endereco > enderecos.id 

Ref: pedidos.id_cliente > clientes.id

Ref: alimentos.id_empresa > empresas.id 
Ref: item_pedido.id_pedido > pedidos.id 
Ref: item_pedido.id_alimento > alimentos.id

Implementação

  1. Certifique-se de ter o Docker e o Docker Compose instalados em sua máquina.
  2. Clone o repositório do aplicativo Excedentes.
  3. Navegue até o diretório onde o arquivo docker-compose.yml está localizado.
  4. Execute o seguinte comando para iniciar os serviços:
   docker-compose up -d
  1. O banco de dados PostgreSQL estará disponível em localhost:5432.
  2. O Adminer estará disponível em localhost:8080 para gerenciar o banco de dados.

Reconstrução de containers

Em certos momentos, pode ser necessário reconstruir suas imagens Docker para aplicar alterações feitas no Dockerfile ou nas configurações definidas no docker-compose.yml. Para isso, você pode utilizar a opção --build com o comando docker-compose up.

docker-compose up --build -d

Se desejar garantir que as imagens sejam reconstruídas do zero, sem utilizar o cache de construções anteriores, você pode usar o comando docker-compose build com a opção --no-cache:

docker-compose build --no-cache

Encerramento

Para encerrar o container sem removê-lo, você pode usar o seguinte comando no terminal:

   docker-compose stop

Para parar e remover todos os serviços definidos no seu arquivo docker-compose.yml. Certifique-se de estar no mesmo diretório onde o arquivo está localizado antes de executar o comando.

   docker-compose down

Para uma limpeza completa, incluindo volumes, acrescente -v ao comando (docker-compose down -v).

Clone repository
  • Banco de Dados
  • arquitetura
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • gerencia
  • Home
  • materiais_de_estudo
  • processo
  • requisitos
  • sprints