Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ribeirogab/agricultural-data-model
https://github.com/ribeirogab/agricultural-data-model
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ribeirogab/agricultural-data-model
- Owner: ribeirogab
- Created: 2024-10-16T02:23:37.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-16T16:24:55.000Z (3 months ago)
- Last Synced: 2024-10-18T06:28:25.065Z (3 months ago)
- Size: 69.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FIAP - Faculdade de Informática e Administração Paulista
# Modelo de Banco de Dados para Gestão de Insumos Agrícolas
## 👨🎓 Integrantes do grupo:
- Gabriel de Oliveira Soares Ribeiro## 👩🏫 Professores:
### Tutor(a)
- Lucas Gomes Moreira
### Coordenador(a)
- André Godoi## 📜 Descrição
Este repositório contém a modelagem de um banco de dados relacional para o projeto da Startup **FarmTech Solutions**, que visa otimizar a irrigação e a aplicação de nutrientes em plantações através do uso de sensores de umidade, pH e nutrientes. A modelagem foi realizada de acordo com os princípios de relacionamento de banco de dados, utilizando o [SQLDesigner](https://github.com/ondras/wwwsqldesigner) para criar o DER (Diagrama Entidade-Relacionamento).
O objetivo deste projeto é desenvolver um sistema que permita o armazenamento e a análise dos dados coletados pelos sensores, ajustando de maneira precisa a quantidade de água e nutrientes aplicados nas plantações. Isso inclui:
- Monitoramento contínuo de diferentes tipos de sensores.
- Armazenamento de leituras de umidade, pH, fósforo e potássio.
- Aplicação de água e nutrientes com base nos dados coletados.
- Capacidade de rastrear leituras e ajustes por cultura e local.## 📁 Estrutura de pastas
Dentre os arquivos e pastas presentes na raiz do projeto, definem-se:
- **`data-model.xml`**: Arquivo XML contendo a definição do modelo de banco de dados para ser importado no SQLDesigner.
- **`data-model.sql`**: Script SQL para a criação das tabelas do modelo no banco de dados.
- **`diagram.png`**: Imagem do Diagrama Entidade-Relacionamento (DER) gerado a partir do modelo.
- **`README.md`**: Este arquivo de documentação explicando o projeto.## 🔧 Como executar o código
1. **Pré-requisitos**:
- SQLDesigner para visualização e edição do diagrama.
- Um ambiente para rodar o script SQL gerado.
2. **Passo a passo**:
- Faça o clone do repositório para a sua máquina local.
- Importe o arquivo `data-model.xml` no SQLDesigner para visualizar o modelo de banco de dados.
- Rode o arquivo `data-model.sql` em seu banco de dados para criar as tabelas.## Entidades Principais
### 1. **Sensor**
Representa os diferentes sensores usados nas plantações.
- **Atributos**:
- `sensor_id`: Identificador único do sensor.
- `sensor_type`: Tipo do sensor (Umidade, pH, Nutrientes).### 2. **Leitura_Sensor**
Armazena as leituras feitas pelos sensores em momentos específicos.
- **Atributos**:
- `reading_id`: Identificador único da leitura.
- `sensor_id`: Referência ao sensor que coletou a leitura.
- `crop_id`: Referência à cultura monitorada.
- `location_id`: Referência ao local da leitura.
- `timestamp`: Data e hora da leitura.
- `moisture_value`: Valor de umidade coletado (se aplicável).
- `ph_value`: Valor de pH coletado (se aplicável).
- `phosphorus_value`: Nível de fósforo (se aplicável).
- `potassium_value`: Nível de potássio (se aplicável).### 3. **Aplicação**
Armazena os ajustes feitos na irrigação e aplicação de nutrientes.
- **Atributos**:
- `application_id`: Identificador único da aplicação.
- `crop_id`: Referência à cultura que recebeu a aplicação.
- `timestamp`: Data e hora do ajuste.
- `water_amount`: Quantidade de água aplicada.
- `phosphorus_amount`: Quantidade de fósforo aplicado.
- `potassium_amount`: Quantidade de potássio aplicado.### 4. **Cultura (Crop)**
Armazena informações sobre as culturas plantadas.
- **Atributos**:
- `crop_id`: Identificador único da cultura.
- `crop_name`: Nome da cultura.
- `planting_date`: Data de plantio.### 5. **Localização (Location)**
Armazena informações sobre as localizações da plantação onde as leituras são feitas.
- **Atributos**:
- `location_id`: Identificador único da localização.
- `location_name`: Nome da localização.
- `coordinates`: Coordenadas geográficas da localização.## Relacionamentos
- Um **Sensor** pode ter várias **Leituras_Sensor** associadas (1:N).
- Uma **Cultura (Crop)** pode ter várias **Leituras_Sensor** e **Aplicações** associadas (1:N).
- Uma **Localização (Location)** pode estar associada a várias **Leituras_Sensor** (1:N).
- Cada **Aplicação** está relacionada a uma **Cultura (Crop)** (N:1).## Diagrama Entidade-Relacionamento (DER)
![Diagrama Entidade-Relacionamento](./diagram.png)
## 🗃 Histórico de lançamentos
* 1.0.0 - 16/10/2024
* Primeira versão do modelo de banco de dados criado e implementado.## 📋 Licença
MODELO GIT FIAP por Fiap está licenciado sobre Attribution 4.0 International.