Non sono sicuro che "Ogni studente può incontrare 0 o 1 insegnante" significa quello che stai dicendo. Il rapporto di incontri per un insegnante con uno studente è 1 per molti ha senso, ma solo in contesti specifici, ad esempio una classe / corso. Per una scuola, no (molti insegnanti e studenti che prendono molte classi).
Ma se c'è un solo insegnante e un corso, la prima soluzione va bene. Cioè, tenere un elenco di riunioni (anche se potrei avere una sorta di timestamp / programma id come un modo di separare temporaneamente le riunioni). Quindi la tabella di collegamento Teacher_met_student può registrare tutte le riunioni degli insegnanti degli studenti per un'organizzazione.
Per me, il pezzo mancante è il Corso, che dovrebbe avere 1 insegnante (e IRL, questo è troppo restrittivo, molti corsi hanno più istruttori), molti studenti e le riunioni dovrebbero avere insegnanti, corsi, studenti per aggregare le riunioni in un particolare contesto.