Salve a tutti!
Ho un dubbio sulla realizzazione di alcune tabelle su un database relazionale. Vi spiego brevemente...
Ho un gruppo di utenti a cui sono correlate delle categorie, a loro volta a queste categorie sono correlate delle sotto categorie.
Schematizzando, ad un utente è assegnato qualcosa del genere:
utente 1 -> categoriaA -> {valoreSottoCatA1, valoreSottoCatA2, valoreSottoCatA3}
utente 1 -> categoriaB -> {valoreSottoCatB3, valoreSottoCatB4}
ecc...
Il numero di categorie e sottocategorie, può essere anche elevato (ad esempio 10 categorie e 50 sottocategorie ).
Quello che mi serve fare è avere una tabella che raggruppi l'utente in base alle categorie e alle sottocategorie.
Mi spiego meglio, ciò che voglio è una tabella del genere
| IDutente | IDcategoria | sottocategoria A1 | sottocategoria A2 | sottocategoria A3 | sottocategoria B1 | sottocategoria B2
----1--------2-----------1000--------------5000--------------3500--------------0-----------------0-------
----1--------5-----------450---------------300---------------180---------------0-----------------0-------
----1--------3------------0------------------0----------------0---------------120----------------230------
Vi dico quale è il mio dilemma... Per una situazione del genere, farei una tabella in cui metterei 3 colonne:
| utente | categoria | sottocategoria |
Ma se il database avesse centinaia di migliaia di utenti, questo è il modo corretto di fare le tabelle? Mi è stato consigliato di creare una tabella di riepilogo, le cui colonne siano l'utente, la categoria e ogni sottocategoria, un pò come l'esempio che ho fatto sopra. Francamente penso che sia un modo sbagliato di lavorare, ma se il numero di utenti è elevato, una scelta del genere è giustificabile? Mi è stato anche consigliato di assegnare al nome delle colonne delle sottocategorie, l'id contenuto nelle tabelle dove queste sono elencate.
Cosa mi consigliate di fare?
Spero di essere stato chiaro nella descrizione, grazie a tutti.