Как правильно хранить несколько значений внутри поля в MySQL?
У меня есть довольно простая бд для хранения данных и их последующей публикации на страницу: id, title, text, date. Хочу добавить ещё один столбец для фотографий, но не знаю как правильно это сделать, т. к. по идее поле одно, и ссылка на фото должно быть одно. Как правильно хранить несколько ссылок на фотографии в базе данных для одного id, если по идее туда можно вставить только одну ссылку для дальнейших манипуляций?
"несколько значений внутри поля" в терминах реляционных баз данных - это отдельная таблица, которая ссылается на строку в исходной таблице. по ид публикации можно будет получить из неё все фотографии
Я думал об этом, но посчитал это неудобным, так как даже при 20 строках в бд придется создавать ещё 20 новых таблиц (хоть и скриптом, но всё же как-то не удобно). В какой-то момент пришла идея просто создать ещё с десяток столбцов в базе данных для фотографий, и хранить там ссылки на фото (в некоторых местах будут пустоты, например в одной строке будет 5 ссылок, а в другой 12). Если сравнивать эти два подхода, какой из них более адекватный и менее ресурсозатратный?
ещё раз. дополнительная таблица одна
в ней есть поле publication_id
фотографии ко всем публикациям хранятся в одной таблице
фотографии для конкретной публикации выбираются из неё по publication_id
Спокойно можно хранить через запятую, в массиве, в json, сериализовать в blob и т.д
Вариантов много. Смотря какие действия вы будете с ними делать. Если к картинке нужно обратиться как отдельной сущности или вы делаете другие быстрые запросы к этой таблице тогда стоит завести отдельную таблицу. Иначе, тип text и через запятую