Создаю модель Schedule у которой метод getClassSchedule($class_id) должен получить данные из 2х этих таблиц
Это не модель, это сервис. Модель это какой-то класс который инкапсулирует данные, это сущность которой оперирует ваша бизнес логика. Если бы мы говорили в контексте языков типа c# или Go - модель это старая добрая структура, просто структура... в PHP есть только классы, потому это у нас это классы.
То есть в вашем случае у вас есть сервисный класс Schedule который инкапсулирует в себя бизнес-логику управления рассписанием для каких-то сущностей. Как оно это делает - не важно.
Что до таблиц и моделей - модели в идеале никак не завязаны на то, как они хранятся в базе. Это просто классы. Их проектируют исходя из того, как проще будет работать с ними в рамках приложения. В базе они могут храниться совсем по другому и задачу хранения должны бать на себя другие сервисы. Скажем у вас может быть несколько моделей, наследующихся от базового класса. Например базовый класс Client делится в итоге на розничных и оптовых покупателей, у каждого свои поля, часть полей общая, часть логики общая, например авторизация.... логично иметь базовый класс и два наследника. В базе это все может храниться в одной таблице, или в нескольких, или еще как....
Если вам интересно - советую почитать про DDD (Domain Driven Design).