USUARIS (USERS)
PK: id_usuari (INT, Auto-inc)
Identificador numèric únic per a cada membre.
PROJECTES (PROJECTS)
PK: id_projecte (INT, Auto-inc)
FK: propietari_id (-> Users)
FK: propietari_id (-> Users)
Identificador únic de cada projecte. Estableix qui n’és el responsable.
TASQUES (TASKS)
PK: id_tasca (INT, Auto-inc)
FK: relacio_projecte (-> Projects)
FK: id_superior (Nullable)
FK: relacio_projecte (-> Projects)
FK: id_superior (Nullable)
Identifica cada activitat i permet jerarquies de sub-tasques.
Argumentació Tècnica (Criteris de Qualitat)
| Criteri | Aplicació en aquest projecte |
|---|---|
| Referencial | Les claus foranes (FK) impedeixen “dades orfes”. No es pot crear una tasca sense un projecte vàlid. |
| Unicitat absoluta | Gràcies a les claus primàries (PK) auto-incrementals, el sistema diferencia tasques amb el mateix títol. |
Restriccions i Optimització del Sistema
REGLA DE NETEJA (ON DELETE CASCADE)
Si s’elimina un projecte, totes les seves tasques s’esborren automàticament per mantenir la base de dades neta.
CAMPS OBLIGATORIS (NOT NULL)
El títol de la tasca i el vincle amb el projecte no poden estar buits per mantenir el valor operatiu.
ÍNDEXS DE CONSULTA RÀPIDA
Creats índexs a ‘usuari_assignat’ i ‘estat_tasca’ per accelerar les cerques de feines pendents.
Escenaris d’Ús (Casos Pràctics)
ASSIGNACIÓ DINÀMICA
Mitjançant la FK ‘usuari_assignat’, el sistema genera llistats personalitzats per a cada empleat en temps real.
GESTIÓ DE DEPENDÈNCIES
La FK ‘id_superior’ manté la relació d’arbre entre tasques mare i sub-tasques sense taules extres.
SEGURETAT DE DADES
L’ús d’IDs numèrics protegeix la privacitat, ja que les relacions internes no exposen dades personals.
