|
|
# Banco de Dados
|
|
|
|
|
|
| [**Home**](./Home) |
|
|
|
| :----------------: |
|
|
|
|
|
|
**Documentação do negócio**
|
|
|
| [Sprints](./Sprints) | [Requisitos](./Requisitos) | [Processos](./Processos) | [Gerência](./Gerência) | [Horários](./Horários) | [Squads](./Squads) |
|
|
|
| :------------------: | :------------------------: | :---------------------: | :--------------------: | :-------------------: | :----------------: |
|
|
|
|
|
|
**Documentação técnica**
|
|
|
| [Arquitetura](./Arquitetura) | [Mockups](./Mockups) | [**Banco de dados**](./Banco_de_dados) | [Instalação](./Instalacao) |
|
|
|
| :-------------------------: | :------------------: | :-----------------------------: | :-----------------------: |
|
|
|
|
|
|
---
|
|
|
|
|
|
## Tecnologia escolhida: PostgreSQL
|
|
|
|
|
|
PostgreSQL é um sistema de gerenciamento de banco de dados relacional open-source, amplamente utilizado por sua robustez e capacidade de lidar com grandes volumes de dados, oferecendo suporte a transações ACID e MVCC, com uma vasta gama de extensões e funcionalidades.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Diagrama de Relacionamento
|
|
|
|
|
|
Abaixo está o diagrama de relacionamento do banco de dados utilizado no projeto. Ele ilustra as entidades e suas relações, incluindo chaves primárias e estrangeiras, conforme o modelo relacional escolhido.
|
|
|
|
|
|
**Diagrama de Relacionamento**
|
|
|
![diagrama_logico_relacional](uploads/0ce6590bd2902aee5b37a50887607559/diagrama_logico_relacional.png)
|
|
|
|
|
|
---
|
|
|
|
|
|
### Descrição das Tabelas
|
|
|
|
|
|
#### 1. **Estabelecimentos**
|
|
|
- **Chave Primária:** estabelecimento_id
|
|
|
- **Atributos:**
|
|
|
- id: `CHAR(4)` (NOT NULL)
|
|
|
- dv: `CHAR(2)` (NOT NULL)
|
|
|
- matriz: `BIT(1)` (NOT NULL)
|
|
|
- nome_fantasia: `VARCHAR(50)` (NOT NULL)
|
|
|
- pais: `VARCHAR(20)` (NOT NULL)
|
|
|
- data_inicio_atividade: `DATE` (NOT NULL)
|
|
|
- situacao_cadastral: `INT` (NOT NULL)
|
|
|
- tipo_logradouro: `VARCHAR(20)` (NOT NULL)
|
|
|
- logradouro: `VARCHAR(30)` (NOT NULL)
|
|
|
- numero: `VARCHAR(15)` (NOT NULL)
|
|
|
- complemento: `VARCHAR(10)`
|
|
|
- bairro: `VARCHAR(20)`
|
|
|
- cep: `CHAR(8)` (NOT NULL)
|
|
|
- uf: `CHAR(2)` (NOT NULL)
|
|
|
- ddd_1: `INT`
|
|
|
- telefone_1: `INT`
|
|
|
- email: `VARCHAR(50)`
|
|
|
- latitude: `FLOAT(11)`
|
|
|
- longitude: `FLOAT(11)`
|
|
|
- municipio_id: `CHAR(36)` (FK, NOT NULL)
|
|
|
- cnpj: `CHAR(8)` (FK, NOT NULL)
|
|
|
|
|
|
#### 2. **Empresas**
|
|
|
- **Chave Primária:** cnpj
|
|
|
- **Atributos:**
|
|
|
- razao_social: `VARCHAR(50)` (NOT NULL)
|
|
|
- porte: `INT`
|
|
|
- natureza_juridica: `INT`
|
|
|
|
|
|
#### 3. **Municipios**
|
|
|
- **Chave Primária:** municipio_id
|
|
|
- **Atributos:**
|
|
|
- nome: `VARCHAR(35)` (NOT NULL)
|
|
|
|
|
|
#### 4. **Estabelecimentos_Cnaes**
|
|
|
- **Chave Primária:** cnae_id, estabelecimento_id
|
|
|
- **Atributos:**
|
|
|
- primario: `BIT(1)`
|
|
|
|
|
|
#### 5. **Cnaes**
|
|
|
- **Chave Primária:** cnae_id
|
|
|
- **Atributos:**
|
|
|
- descricao: `VARCHAR(80)` (NOT NULL)
|
|
|
- macro_categoria: `CHAR(2)` (NOT NULL)
|
|
|
|
|
|
---
|
|
|
|
|
|
Essa estrutura descreve a tecnologia PostgreSQL utilizada no projeto, juntamente com o diagrama de relacionamento e os detalhes das tabelas e seus atributos. |