Ciao a tutti
In un gestionale per una scuola degli studenti devono prenotarsi gli esami (materia/data/ora)
Amministrazione crea delle sessioni di esame con materia/giorno/orari disponibili
Lo studente sceglie la materia, la data e l'ora di esame (dalle 9am alle 6pm, sessioni di un ora)
C'è un numero massimo di utenti per sessione di esame diverso per ogni materia/giorno/ora che deve essere specificata tipo:
10/10/2018
ore9 - max 3 studenti
ore 12 - max 1 studente
etc
Amministrazione deve poter visualizzare quanti studenti per materia/giorno/ora si sono iscritti e quali sono
Lo studente deve poter vedere a che esami è iscritto e in quale orario.
Ho pensato ad una tbl_esamiPre (allegata) in cu si specifica il numero max di studenti per ora (campo ore9. ore10 etc) ed un campo in cui incremento il n° iscritti per ora (campo ore9_book, ore10_book, etc)
UPDATE esamiPre SET ore9_book + 1
Potrei allo stessso tempo registrare (insert multiple) in una tbl_esamiStudente la sessione di esame passando materia/data/ora(varchar) collegati ad IDutente
Però.. visualizzando i campi ore9 e ore9_book avrei il numero di studenti max e di quelli iscritti ma non quali sono (!) inoltre se si deve cancellare/modificare una prenotazione tocca farlo sia sulla tbl_esamiPre che sulla
tbl_esamiStudente.
Eliminare i campi ore9_book, ore 10_book e ricavare gli iscritti per sessione dalla tbl_esamiStudente sarebbe ok ma nella tbl_esamiPre i campi ora sono INT mentre in tbl_esamiStudente sono varchar... come confrontarli
Un altra soluzione sarebbe di inserire come array l'idutente nel campo ore9_book ma non mi piace
Qualche idea elegante ed illuminante ?