Как правильно разбить таблицы
в двух словах, есть сервис по бронированию экскурсий, экскурсия привязывается к региону и одна экскурсия может быть привязана к нескольким регионам. В каждом регионе есть свой список отелей из которых забирают клиентов и везут на экскурсию
у меня есть таблицы:
1) regions - id, title
2) excursions - id, title, text
2) hotels - id, title
Вот дальше я запутался как правильно и лучше разбить, чтобы поиск был либо по региону, либо по региону и отелю к нему привязанному
Пока вот так сделал
1) excursion_region - id, excursion_id, region_id
2) excursion_region_hotel - id, excursion_region_id, hotel_id
Но что-то такая структура меня смущает и мне кажется очень сложная логика. Буду рад профессиональному совету, спасибо
Ответы (1 шт):
Первая расшивка (many-to-many) правильная, вторая - нет. Расшивка на расшивку - это какое-то извращение.
Как я понял, эти таблицы уже существуют:
- regions - id, title
- excursions - id, title, text
- hotels - id, title
Добавляйте ещё две расшивки, и будет ок:
- region_excursion - id, region_id, excursion_id
- region_hotel - id, region_id, hotel_id