Да, вам нужна третья таблица, потому что это отношение многих ко многим.
-------- -----------------
|Class | | ClassLocation | ------------
|--------| |-----------------| | Location |
|Id | <---- |ClassId | |------------|
|Name | |LocationId | ----> |Id |
|... | ----------------- |Name |
-------- | ... |
------------
Возможно даже, что вам понадобятся две дополнительные таблицы, если важно направление связи. Если значение «класс принадлежит местоположению» не совпадает со значением «местоположение принадлежит классу», вам нужны две таблицы объединения, потому что только одна таблица соединения ничего не говорит о направлении взаимосвязи. Но я полагаю, что это не относится к вашей ситуации.