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

Banco de Dados · Changes

Page history
Update Banco de Dados authored Jun 25, 2024 by Gabriel Fernando Giaretta's avatar Gabriel Fernando Giaretta
Hide whitespace changes
Inline Side-by-side
Banco-de-Dados.md
View page @ 23b72641
## Ferramentas Escolhidas
<table align="center"><tr><td align="center" >
<img src="uploads/675aef81bde448dcc2001026040a8eca/image.png" width="300px">
<table>
<tr>
<td>
![](uploads/675aef81bde448dcc2001026040a8eca/image.png)
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.
<img src="uploads/a082b9db86e0b08a31fa4b5435d8b7bb/image.png" width="300px">
![](uploads/a082b9db86e0b08a31fa4b5435d8b7bb/image.png)
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.
<img src="uploads/193543472e9e058031ce10b7d5be43b0/image.png" width="300px">
![](uploads/193543472e9e058031ce10b7d5be43b0/image.png)
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.
<img src="uploads/a10549802509a99eeec9ac413f4e337a/image.png" width="300px">
![](uploads/a10549802509a99eeec9ac413f4e337a/image.png)
é 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.
</td>
</tr>
</table>
## Modelagem
......@@ -27,118 +29,107 @@ Optamos por criar um banco de dados relacional, tendo em vista que o banco possu
### Modelo ER
![image](uploads/c2b8ec891f0bc362bfa81b228efca390/image.png)
![bddNovo](uploads/bf00b28d1ca5bbc7a5a4ed6f40b967f1/bddNovo.png)
Para ver com mais detalhes sobre este modelo, clique [aqui](https://dbdiagram.io/d/Copy-of-Untitled-Diagram-660c745903593b6b61017b26)
## Scripts de criação das tabelas
```
```plaintext
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]
email varchar2 [not null]
cpf_cnpj varchar2 [not null, unique]
email varchar2 [not null, unique]
senha varchar2 [not null]
createdAt date [not null]
updatedAt date [not null]
deletedAt date
isOng bool [not null]
createdAt timestamp [not null]
updatedAt timestamp [not null]
deletedAt timestamp
}
```
```
```plaintext
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]
createdAt date [not null]
updatedAt date [not null]
deletedAt date
aberto bool [not null]
createdAt timestamp [not null]
updatedAt timestamp [not null]
}
```
```
```plaintext
Table alimentos {
id_alimento integer [primary key, not null]
id_empresa integer [primary key, not null]
id integer [primary key, not null]
id_empresa integer [not null]
nome varchar2 [not null]
descricao varchar2
descricao varchar2 [not null]
preco double [not null]
quantidade integer [not null]
marca varchar2
marca varchar2 [not null]
data_validade date [not null]
categoria varchar2 [not null]
foto varchar2
cod_barras varchar2
createdAt date [not null]
updatedAt date [not null]
deletedAt date
deleted bool [not null]
cod_barras varchar2 [not null]
createdAt timestamp [not null]
updatedAt timestamp [not null]
deletedAt timestamp
}
```
```
```plaintext
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]
createdAt date [not null]
updatedAt date [not null]
deletedAt date
createdAt timestamp [not null]
updatedAt timestamp [not null]
}
```
```
```plaintext
Table empresas {
id integer [increment, primary key]
nome varchar2 [not null]
cnpj varchar2 [not null]
email 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]
createdAt date [not null]
updatedAt date [not null]
deletedAt date
id_endereco integer [not null, unique]
createdAt timestamp [not null]
updatedAt timestamp [not null]
deletedAt timestamp
}
```
```
```plaintext
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]
nome_formatado varchar2 [not null]
latitude double [not null]
longitude double [not null]
createdAt date [not null]
updatedAt date [not null]
deletedAt date
createdAt timestamp [not null]
updatedAt timestamp [not null]
}
```
```
```plaintext
Ref: empresas.id_endereco > enderecos.id
Ref: pedidos.id_cliente > clientes.id
Ref: item_pedido.id_empresa > empresas.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_alimento
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.
......@@ -153,7 +144,6 @@ Ref: item_pedido.id_alimento > alimentos.id_alimento
5. O banco de dados PostgreSQL estará disponível em `localhost:5432`.
6. 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`.
......
Clone repository
  • Banco de Dados
  • arquitetura
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • gerencia
  • Home
  • materiais_de_estudo
  • processo
  • requisitos
  • sprints