Всем привет. Хочу посоветоваться по архитектуре бд. Есть сайт, на сайте есть юзеры(и профили юзера), за юзером/профилем может быть закреплены разные файлы(картинки, пдф, текст итд итп)
и нужно что бы эти файлы были разделены по группам, что бы всегда можно было получить доступ к файлам конкретной группы.
Сейчас я вижу 2 структуры:
1)Есть таблица files, есть поле для типа сущности(юзер, профиль итд итп) и поле для айди этой сущности. И есть поле, которое хранит текстовое название группы файла.
2)Также есть таблица files, но без последнего столбца.
И есть таблица группы файлов. Столбцы: name(название группы) и айди файла и полиморфная связь с сущностью(юзер, профиль, 2 столбца - название сущности и айди записи).
Вроде оба варианта норм, но может я что-то упускаю из вида в плане возможного масштабирования проекта.