🏢 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
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
- Cria-se um registro em
producers
com todos os dados pessoais e de localização - O sistema gera automaticamente os timestamps de criação
Passo 2: Configuração da Infraestrutura
- Registram-se os tipos de solo disponíveis em
soil_types
- Catalogam-se os sistemas de irrigação em
irrigation_types
- O produtor define suas áreas de cultivo em
areas
Passo 3: Planejamento das Safras
- Cria-se uma nova safra em
harvests
com ciclo e datas estimadas - Definem-se os produtos a cultivar em
products
Passo 4: Execução dos Plantios
- Para cada área e produto, criam-se registros em
plantings
- Registram-se datas reais de plantio e quantidades
- Atualizam-se as datas de colheita esperadas
Passo 5: Acompanhamento e Colheita
- Atualizam-se as quantidades colhidas em
plantings
- Modifica-se o status das safras em
harvests
- O sistema mantém rastreabilidade completa do processo
📈 Métricas e Análises Disponíveis
Produtividade:
- Comparação
quantityPlanted
vsquantityHarvested
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