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_dados

Last edited by Isadora Santos Da Silva Oct 11, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

banco_dados

🏢 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

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