Ciao ragazzi,
ho una tabella modulo_programmato ed una calendario_corsi.

Per ciascun modulo_programmato possono esistere n record di calendario_corsi. Il problema è che moduli programmati di corsi diversi possono essere fatti nelle stesse date di altri moduli.

Per fare un esempio, il modulo programmato x ha 2 date: oggi e domani.

Può capitare che il modulo programmato y venga fatto nello stesso momento e nello stesso luogo del modulo programmato x. Quindi non posso duplicare i record di calendario_corsi ma devo riferirmi a quelli esistenti di x.

E qui mi sono perso. Avevo fatto qualcosa del genere:

modulo_programmato
----------------------------
id
id_modulo (questo campo e il successivo mi servono per legare il modulo programmato al suo corso)
id_corso_programmato

calendario_corsi
------------------
id
data_inizio
data_fine
id_aula

calendario_modulo_programmato
-------------------------------------
id_calendario
id_modulo_programmato

ma in questo modo quando il corso y si sovrappone a quello x, avrò n record duplicati in calendario_modulo_programmato... e se nel frattempo viene inserita una nuova data in x? in questo modo il corso y rimarrebbe con i riferimenti al corso x che c'erano al momento dell'inserimento. E non va decisamente bene!

Non so se mi sono spiegato bene, spero di si... non ne riesco ad uscire!

Grazie