ОК, с чего начать.Во-первых, отношения между Учителем и Классом потенциально много-ко-многим, но, как вы описали, это как минимум один-ко-многим.
Первый вариант - абсолютно неправильный путь.Никогда не создавайте таблицы динамически.Второй вариант - как с этим обращаться.Базы данных являются мощными, написаны очень умными людьми (обычно) и могут обрабатывать намного больше строк, чем все учащиеся в данной школе.
Пока вы правильно индексируете свои таблицы, они могут легко поддерживать сотни миллионовзаписей.