Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • aiprodutor-wiki aiprodutor-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
  • Ai Produtor Sistema de Cadastro e Gestao de Produtores de Hortifrutie
  • aiprodutor-wikiaiprodutor-wiki
  • Wiki
  • Banco de Dados

Banco de Dados · Changes

Page history
Update Banco de Dados authored Oct 10, 2025 by Isadora Santos Da Silva's avatar Isadora Santos Da Silva
Hide whitespace changes
Inline Side-by-side
Banco-de-Dados.md 0 → 100644
View page @ 9a2d312e
## Descrição Geral do Sistema
Este banco de dados foi projetado para gerenciar operações agrícolas completas, desde o cadastro de produtores rurais até o acompanhamento detalhado de plantios e colheitas. O modelo permite rastreabilidade completa do processo produtivo agrícola.
---
## Esquema do Banco de Dados - Análise Detalhada
![image](uploads/9cf55d108497758a9142fcb68252e50f/image.png)
### **TABELA: producers** (Produtores Rurais)
**Propósito**: Armazena informações completas dos agricultores ou empresas produtoras.
**Estrutura e Campos**:
- `id` (SERIAL) - Identificador único do produtor (Chave Primária)
- `name` (VARCHAR(255)) - Nome completo ou razão social do produtor
- `document` (VARCHAR(20)) - Documento de identificação (CPF/CNPJ)
- `phone` (VARCHAR(20)) - Telefone de contato
- `email` (VARCHAR(255)) - E-mail
- `zipCode` (VARCHAR(20)) - CEP da localização
- `city` (VARCHAR(180)) - Cidade de residência/operação
- `street` (VARCHAR(255)) - Endereço
- `number` (VARCHAR(20)) - Número do endereço
- `complement` (VARCHAR(255)) - Complemento do endereço
- `createdAt` (TIMESTAMP) - Data e hora de criação do registro
- `updatedAt` (TIMESTAMP) - Data e hora da última atualização
**Relacionamentos**:
- Um produtor pode ter múltiplos produtos (`products`)
- Um produtor pode gerenciar múltiplas safras (`harvests`)
- Um produtor pode possuir múltiplas áreas de cultivo (`areas`)
---
### **TABELA: products** (Produtos Agrícolas)
**Propósito**: Cataloga os diferentes tipos de culturas ou produtos que podem ser cultivados.
**Estrutura e Campos**:
- `id` (SERIAL) - Identificador único do produto
- `name` (VARCHAR(180)) - Nome do produto (milho, soja, trigo, etc.)
- `producerId` (INT) - Referência ao produtor dono do produto
- `createdAt` (TIMESTAMP) - Timestamp de criação
- `updatedAt` (TIMESTAMP) - Timestamp de atualização
**Relacionamentos**:
- Pertence a um produtor (`producers`)
- Pode ser plantado em múltiplas ocasiões (`plantings`)
---
### **TABELA: harvests** (Safras)
**Propósito**: Gerencia os ciclos de safra ou temporadas agrícolas.
**Estrutura e Campos**:
- `id` (SERIAL) - Identificador único da safra
- `name` (VARCHAR(180)) - Nome descritivo da safra
- `cycle` (VARCHAR(50)) - Ciclo ou temporada (ex: "2024-Verão")
- `startDate` (DATE) - Data de início do ciclo
- `endDate` (DATE) - Data de finalização estimada
- `status` (harvest_status) - Status atual (provavelmente ENUM: planned, in_progress, completed, cancelled)
- `producerId` (INT) - Produtor associado à safra
- `createdAt` (TIMESTAMP) - Data de criação
- `updatedAt` (TIMESTAMP) - Data de atualização
**Relacionamentos**:
- Pertence a um produtor (`producers`)
- Contém múltiplos plantios (`plantings`)
---
### **TABELA: areas** (Áreas de Cultivo)
**Propósito**: Gerencia os talhões ou terrenos específicos onde são realizados os cultivos.
**Estrutura e Campos**:
- `id` (SERIAL) - Identificador único da área
- `name` (VARCHAR(255)) - Nome descritivo da área
- `polygon` (GEOMETRY) - Dados geométricos que definem o formato da área
- `areaM2` (DECIMAL(65,30)) - Superfície total em metros quadrados
- `color` (VARCHAR(10)) - Cor para representação visual em mapas
- `producerId` (INT) - Produtor proprietário da área
- `soilTypeId` (INT) - Tipo de solo (FK para soil_types)
- `irrigationTypeId` (INT) - Tipo de sistema de irrigação (FK para irrigation_types)
- `isActive` (BOOLEAN) - Indicador de área ativa/inativa
- `description` (TEXT) - Descrição adicional da área
- `createdAt` (TIMESTAMP) - Data de criação
- `updatedAt` (TIMESTAMP) - Data de atualização
**Relacionamentos**:
- Pertence a um produtor (`producers`)
- Tem um tipo de solo específico (`soil_types`)
- Utiliza um tipo de irrigação (`irrigation_types`)
---
### **TABELA: AreaToPlanting** (Relação Área-Plantio)
**Propósito**: Tabela de relacionamento entre áreas e plantios (provável tabela associativa).
**Estrutura e Campos**:
- `A` (INT) - Possível referência à área ou coordenada
- `B` (INT) - Possível referência ao plantio ou coordenada
**Observação**: Esta tabela precisa de melhor definição de propósito e campos.
---
### **TABELA: soil_types** (Tipos de Solo)
**Propósito**: Catálogo de classificações de solo para caracterizar as áreas de cultivo.
**Estrutura**:
- `id` (SERIAL) - Identificador único do tipo de solo
- `name` (VARCHAR(180)) - Nome do tipo (argiloso, arenoso, etc.)
- `description` (TEXT) - Características e propriedades do solo
---
### **TABELA: irrigation_types** (Tipos de Irrigação)
**Propósito**: Catálogo de sistemas de irrigação disponíveis.
**Estrutura**:
- `id` (SERIAL) - Identificador único do tipo de irrigação
- `name` (VARCHAR(180)) - Nome do sistema (gotejamento, aspersão, etc.)
- `description` (TEXT) - Descrição do método de irrigação
---
### **TABELA: plantings** (Plantios)
**Propósito**: Registra as instâncias específicas de cultivo dentro das safras.
**Estrutura e Campos**:
- `id` (SERIAL) - Identificador único do plantio
- `name` (VARCHAR(255)) - Nome descritivo da cultura
- `plantingDate` (DATE) - Data real do plantio
- `plantingEndDate` (DATE) - Data de finalização do plantio
- `expectedHarvestDate` (DATE) - Data estimada da colheita
- `quantityPlanted` (FLOAT) - Quantidade plantada (unidades/hectares)
- `quantityHarvested` (FLOAT) - Quantidade realmente colhida
- `harvestId` (INT) - Safra à qual pertence
- `productId` (INT) - Produto que está sendo cultivado
- `createdAt` (TIMESTAMP) - Data de criação
- `updatedAt` (TIMESTAMP) - Data de atualização
**Relacionamentos**:
- Pertence a uma safra (`harvests`)
- Cultiva um produto específico (`products`)
---
## Fluxo de Operações do Sistema
### **Passo 1: Cadastro do Produtor**
1. Cria-se um registro em `producers` com todos os dados pessoais e de localização
2. O sistema gera automaticamente os timestamps de criação
### **Passo 2: Configuração da Infraestrutura**
1. Registram-se os tipos de solo disponíveis em `soil_types`
2. Catalogam-se os sistemas de irrigação em `irrigation_types`
3. O produtor define suas áreas de cultivo em `areas`
### **Passo 3: Planejamento das Safras**
1. Cria-se uma nova safra em `harvests` com ciclo e datas estimadas
2. Definem-se os produtos a cultivar em `products`
### **Passo 4: Execução dos Plantios**
1. Para cada área e produto, criam-se registros em `plantings`
2. Registram-se datas reais de plantio e quantidades
3. Atualizam-se as datas de colheita esperadas
### **Passo 5: Acompanhamento e Colheita**
1. Atualizam-se as quantidades colhidas em `plantings`
2. Modifica-se o status das safras em `harvests`
3. O sistema mantém rastreabilidade completa do processo
---
## Métricas e Análises Disponíveis
### **Produtividade**:
- Comparação `quantityPlanted` vs `quantityHarvested` por produtor/safra
- Eficiência por tipo de solo e sistema de irrigação
### **Planejamento**:
- Acompanhamento de datas estimadas vs reais
- Análise de ciclos de cultivo
### **Gestão de Terrenos**:
- Distribuição de áreas ativas/inativas
- Otimização de uso do solo por produtor
---
Clone repository

📚 Wiki

🏠 Home 🔸Descrição do Projeto
🔸Sumário
🔸Equipe
📋 Escopo
🏗️ Arquitetura
🛠️ Configuração
🎨 Mockups
🗄️ Banco de Dados
📊 Gerência 🔸Termo de abertura do projeto
🔸Estrutura analítica de projeto (EAP)
🔸Cronograma
🔸Plano de comunicação
🔸Matriz de responsabilidades
🔸Plano de riscos
✅ Qualidade
🔄 Processo 🔸Papeis
🔸Sprints
🔸Apresentações
🔸Artefatos
🔸Acompanhamento das Entregas