Files
2026-05-31 20:22:50 +01:00

20 lines
1.5 KiB
Markdown

# US08 - Modelo de Dados de Entregas
**Como** Sistema RefoodOne
**Quero** definir a estrutura e modelo de dados para o registo das entregas de cabazes aos beneficiários
**Para** garantir a integridade dos dados e o relacionamento correto entre as entregas, os beneficiários e os turnos.
## Critérios de Aceitação
### 1. Estrutura da Tabela `deliveries`
A tabela de entregas na base de dados SQLite deve conter os seguintes campos:
- **`id`**: Texto (Primary Key, UUID gerado automaticamente, não nulo).
- **`beneficiary_id`**: Texto (não nulo). Chave estrangeira que referencia a tabela `beneficiaries.id`.
- **`shift_id`**: Texto (não nulo). Chave estrangeira que referencia a tabela `shifts.id`.
- **`date`**: Texto (não nulo, formato 'YYYY-MM-DD'). Representa o dia em que a entrega foi efetuada.
- **`created_at`**: Inteiro (não nulo, timestamp). Guarda a data e hora do registo do sistema.
### 2. Integridade Referencial e Comportamento
- **Chave Estrangeira de Beneficiário**: A coluna `beneficiary_id` deve referenciar `beneficiaries(id)`. Deve incluir uma regra de eliminação em cascata (`ON DELETE CASCADE`), de modo a que se um beneficiário for removido, o seu histórico de entregas seja automaticamente apagado.
- **Chave Estrangeira de Turno**: A coluna `shift_id` deve referenciar `shifts(id)`. Deve incluir uma regra de eliminação em cascata (`ON DELETE CASCADE`), de modo a que se um turno for removido do sistema, os registos de entrega a ele associados sejam removidos.