Carissimi,
la base per l'applicazione che sto realizzando è frutto di due anni di lavoro e sarà il mio main business quindi sono orientato a seguire le più accurate norme di progettazione. Non voglio che si faccia qualcosa, ma che si faccia nel modo migliore.
I campi della tabella persone della mia applicazione potrebbero essere divisi in due gruppi, in quanto il loro significato pratico è diverso. Mentre nella prima parte ci sono dati anagrafici, nella seconda sono indicati i poteri di accesso della persona in questione (ovvero i ruoli). Norme teoriche imporrebbero di creare tre tabelle con relazione uno a uno, ma non sono convinto. Secondo voi è comunque necessario spezzarla nonostante i seguenti punti?
1) La dimensione complessiva di una unica tabella non supererebbe i 40 - 45 campi;
2) I dati dei due gruppi non saranno MAI usati da soli, ovvero in nessuna parte del software si richiederebbero solo i dati di una delle parti senza l'altra;
3) Come è evidente, per ogni riga del primo gruppo è sempre associata una sola riga del secondo;
4) I record non sono moltissimi (prevedo qualche migliaio) ma i campi relativi al ruolo hanno una doppia criptazione (e per giunta SHA-512!!) che già appesantisce in particolare la fase di list, ovvero quando voglio estrarre e decriptare ("decriptare" per modo di dire! Lo so che SHA è asimmetrico, ma il valore di quei campi è variabile tra due opzioni quindi ho creato una classe che... Vabbé non mi dilungo) i dati per vedere tutte le persone in una sola lista, quindi capirete la mia esigenza di alleggerire quanto più possibile la gestione di quella tabella, quindi a tutte le operazioni necessarie non vorrei aggiungere una ulteriore operazione inner join. Ovvero, tutte le operazioni che "affibbio" ad una riga andranno ripetute spessissimo per molte migliaia, in pagine di frequente consultazione;
5) il punto 4 è gravato dal fatto che in una sola pagina web (contabilità) ho tre elenchi persone a tendina gestiti con Ajax! Quindi moltiplicate per tre la mia esigenza di consultare i dati delle persone in modo assolutamente snello e leggero...
Siete ancora convinti che debba frazionare la mia tabella?
GRAZIE A TUTTI IN ANTICIPO PER IL TEMPO DEDICATO (visto anche che siamo in Agosto!)