DEFINIR LES CLAUS PRIMÀRIES PER VINCULAR TASQUES
COM FER-HO
L’objectiu d’aquest document és definir una estructura de base de dades sòlida on la informació estigui connectada de manera lògica. Un bon disseny de claus evita la duplicitat de dades i garanteix que cada tasca pertanyi sempre a un entorn vàlid.
1- Definició de l’Estructura Relacional:
Hem dissenyat tres entitats principals per gestionar el flux de treball: Usuaris, Projectes i Tasques.
Taula: Usuaris (Users):
- PK:
id_usuari(INT, Auto-increment): Identificador numèric únic per a cada membre. - Justificació: Utilitzem una clau subrogada (ID) perquè és més eficient per al motor de la base de dades que una clau natural (com el nom o l’email), garantint que la identitat de l’usuari sigui immutable.
Taula: Projectes (Projects):
- PK:
id_projecte(INT, Auto-increment): Identificador únic de cada projecte. - FK:
propietari_id(Referencia aUsuaris.id_usuari): Estableix qui és el responsable del projecte.
Taula: Tasques (Tasks):
- PK:
id_tasca(INT, Auto-increment): Clau primària per identificar cada activitat. - FK:
relacio_projecte(Referencia aProjectes.id_projecte): Vincula la tasca amb el seu projecte corresponent. - FK:
usuari_assignat(Referencia aUsuaris.id_usuari): Determina qui ha d’executar la feina. - FK:
id_superior(Referencia aTasques.id_tasca, Nullable): Permet crear una jerarquia on una tasca pot dependre d’una altra (sub-tasques).
2- Restriccions i Optimització del Sistema:
Per garantir un rendiment òptim i la seguretat de la informació, hem definit:
- 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 de residus. - Camps Obligatoris (
NOT NULL): Hem definit que el títol de la tasca i el vincle amb el projecte no poden estar buits. Una tasca sense context no té valor operatiu. - Índexs de Consulta Ràpida:
- Creat un índex a
usuari_assignatper accelerar les cerques de “Les meves tasques”. - Creat un índex a
estat_tascaper filtrar ràpidament feines pendents o acabades.
- Creat un índex a
3- Escenaris d’Ús (Casos Pràctics):
- Assignació Dinàmica: Mitjançant la FK
usuari_assignat, el sistema pot generar llistats personalitzats per a cada empleat en temps real. - Gestió de Dependències: Si una tasca “Disseny de Logo” és sub-tasca de “Identitat Corporativa”, la FK
id_superiormanté aquesta relació d’arbre sense necessitat de taules extra. - Seguretat de Dades: L’ús de IDs numèrics protegeix la privacitat, ja que les relacions internes no exposen dades personals de l’usuari si es mouen entre sistemes.
