Sto esaminando una struttura in cui viene eseguita una tabella di mappatura delle iscrizioni agli studenti. Mi chiedo se una colonna aggiuntiva ( class_category_id ) alla tabella di mapping possa diventare un problema o un vantaggio evidente. Quella chiave aggiuntiva sarebbe stata usata per filtrare molto spesso.
Ecco una struttura semplificata del database:
Categorie di classi
id name
1 Math
2 Science
Classi
id name class_category_id
1 M101 1
2 M102 1
3 B101 2
4 P101 2
Iscrizioni allo studente
id student_id class_id *class_category_id*
1 1001 1 1
2 1002 1 1
3 1003 3 2
4 1004 4 2
Le query comuni includevano il filtraggio delle iscrizioni per la categoria di classe, senza l'effettiva necessità di ottenere le informazioni sulla classe stessa.
Non è chiaro al 100% se class_category_id possa avere vantaggi e svantaggi.
Una nota importante sarebbe che una categoria per una classe cambierà mai in modo da aggiornare più tabelle per l'aggiornamento che non sarebbero mai necessarie.
EDIT: Piccola nota, questa struttura reale della tabella sarebbe equivalente a questa, ma con molte più colonne (per le tabelle non di mappatura) e in realtà non in alcun modo correlate a classi / studenti.