Buon giorno,
mi ritrovo con una base di dati presumibilmente normalizzata (non l'ho creata io), solo che dovendo implementare l'applicazione (in php) che la userà, mi sembra essere scomoda da utilizzare, è possibile?
Fidandomi del creatore di tale base di dati, tenderei a scartare l'errore nella normalizzazione (però la mano sul fuoco non ce la voglio mettere :P .. non si sa mai :P), mi sorge il dubbio di sbagliare io a strutturare l'applicazione.
In pratica per il sistema vi sono tre tipologie di utenza, con diversi permessi di accesso alle varie aree. Semplifico indicando i tre utenti con 1, 2, 3 dove 2 essendo maggiore di 1 ha anche i permessi di 1 e 3 ovviamente i permessi di 1 e potenzialmente di 2.
La base di dati che mi è stata presentata ha 3 tabelle con gli stessi valori, ma si differenziano per il nome, ovvero ho la tabella 1, la tabella 2 e la tabella 3.
In questo modo per permettere all'utente di eseguire una certa operazione, dovrei controllare se è presente in una delle 3 tabelle.
Solo che in questo modo lo stesso utente con gli stessi dati può apparire in più tabelle ... informazione ridondante (e quindi errore nella pianificazione della base di dati?)
Senza fare uno studio di normalizzazione mi verrebbe più istintivo raggruppare le tre tabelle in una unica e poi fare una tabella gruppi e una tabella con le varie associazioni, e risolvere tutto con un query con dei join, oppure vista la scarsa complessità del sistema e una improbabile espansione futura, mettere direttamente 3 campi boolean nella tabella degli utenti ad indicare direttamente l'appartenenza ad uno o più gruppi.
Che ne dite? Problema mio in sviluppo... problema nella base di dati? In entrambi :P ?
grazie
ciao
p.s.: avevo letto l'articolo sulle base di dati per strutture ricorsive, ma quà non mi sembra necessaria una struttura simile.