# 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.