Есть таблица с объектами (адреса вплоть до квартиры) . По каждой квартире создаётся заявка. В заявке есть комментарии. Но и в заявке и в комментариях могут быть прикреплённые файлы.
Сейчас это 4 таблицы: объекты, заявки, комментарии, файлы.
Соответственно нужно будет получать файлы как по конкретному комментарию, так и по заявке и по адресу. Последний пункт вынудит писать ресурсоемкий запрос. Который сначала найдёт все заявки привязанные к объекту, потом по каждой все комментарии, а потом по каждому комментарию файлы. Мне кажется это очень криво. Как сделать правильно? Спасибо
Зависит конечно от числа записей и запросов, возможно никакой проблемы нет и даже при описанном сценарии всё будет хорошо.
Если логика позволяет (файл относится только к одному комментарию, комментарий к одной заявке, заявка к одному объекту), то можно добавить упрощающую запрос связь. Например для файлов добавить поле для id объекта. Соответственно это несет некоторые издержки.