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

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