Ciao,
se ho ben capito quello che vuoi fare, io lo imposterei in questo modo:
Tabella docenti
id  docente
1   Docente_A
2   Docente_B
3   Docente_C
Tabella classi
id  classe
1   1c
2   1d
3   5a
4   3a
5   4b
6   5e
Tabella disponibilita_docenti
id  id_docente  id_classe   data_inizio  		  data_fine
1   1          	1     		2019-09-09 08:00:00    2019-09-09 09:00:00
1   1          	2     		2019-09-09 09:00:00    2019-09-09 10:00:00
1   1          	3     		2019-09-09 12:00:00    2019-09-09 13:00:00
1   2          	4     		2019-09-09 08:00:00    2019-09-09 09:00:00
1   2          	4     		2019-09-09 11:00:00    2019-09-09 12:00:00
1   2          	5     		2019-09-09 12:00:00    2019-09-09 13:00:00
1   3          	1     		2019-09-09 08:00:00    2019-09-09 09:00:00
1   3          	6     		2019-09-09 14:00:00    2019-09-09 15:00:00
id_docente e id_classe sono chiave esterne
A questo punto recuperare i dati non è complicato, puoi usare una query ad esempio che estrae gli id dei docenti che non si trovano nella tabella_disponibilita (WHERE NOT IN) in un determinato orario, ossia i docenti liberi in quelle ore.