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
This is an old version of this page. You can view the most recent version or browse the history.

Banco de Dados

Página em construção, nem todos os detalhes sobre o banco estão aqui no momento!

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

image

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, primary key]
  email varchar2 [not null]
  senha varchar2 [not null]
}
Table pedidos {
  id integer [increment, primary key]
  id_cliente integer [not null]
  valor_total double [not null]
  data date [not null]
}
Table alimentos {
  id_alimento integer [primary key, not null]
  id_empresa integer [primary key, not null]
  nome varchar2 [not null]
  descricao varchar2
  preco double [not null]
  quantidade integer [not null]
  marca varchar2
  data_validade date [not null]
  categoria varchar2 [not null]
  foto varchar2
  cod_barras varchar2
}
Table item_pedido {
  id integer [increment, primary key]
  id_pedido integer [not null]
  id_alimento integer [not null]
  id_empresa integer [not null]
  quantidade integer [not null]
  preco_unitario double [not null]
}
Table empresas {
  id integer [increment, primary key]
  nome varchar2 [not null]
  cnpj varchar2 [not null, primary key]
  email varchar2 [not null]
  senha varchar2 [not null]
  horario_comercial varchar2 [not null]
  id_endereco integer [not null]
}
Table enderecos {
  id integer [increment, primary key]
  rua varchar2 [not null]
  numero integer [not null]
  complemento varchar2
  cidade varchar2 [not null]
  estado varchar2 [not null]
  cep varchar2 [not null]
  latitude double [not null]
  longitude double [not null]
}
Ref: empresas.id_endereco > enderecos.id 

Ref: pedidos.id_cliente > clientes.id 
Ref: item_pedido.id_empresa > empresas.id 

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

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