Как записывать имена файлов в базу данных — в формате Json или создавать отдельную таблицу?
не стоит таблицу с товаром загаживать, поверь, у меня самая большая таблица в БД - таблица куда пишу инфо об изображениях. Для них в любом случае нужна отдельная таблица, а там уж пиши хоть что, хоть сериализованное инфо, хоть по куче полей растяни. У меня, например, имя файла, id, ширина, высота, размер файла - по отдельным полям, и есть ещё поле, где описаны миниатюрки, там в JSON'е.
Да, можно в json хранить. Поиск по названию в этом случае тоже можно реализовать.