Как грамотно хранить изображения в MySQL?

Доброй ночи!

Скажите, пожалуйста, как правильно хранить картинки в MySQL? Имеется ввиду - URL к ним.

Сайт такой:

Есть альбомы, альбомов тысячи, десятки тысяч. В каждом альбоме 20-90 картинок.
Как построить архитектуру БД?

Нормальный ли такой вариант?

Альбомы:
id - уникальный ид альбома.
title - название альбома.
дата, кто создал и тд...

Картинки:
id - уникальный ид картинки.
title - название картинки.
albom_id - ид альбома.
и тд...

Нормальный вариант? Или лучше сделать 3 таблицы, 3-я таблица связь между альбомом и картинками, т.е.:
id_img - ид картинки
id_album - ид альбома

Или предложите свой вариант, если эти варианты плохие. Заранее спасибо!
  • Вопрос задан
  • 2786 просмотров
Пригласить эксперта
Ответы на вопрос 5
Первый вариант возможен только в том случае, если каждая картинка принадлежит только одному альбому (n : 1), второй вариант - если одна картинка может принадлежать нескольким альбомам (n : n).
Ответ написан
Комментировать
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Вам стоит подумать про контекст задачи.

Если у вас изображения в альбомах буду часто дублироваться (вы каким-то образом будете определять при загрузке изображения, что такое изображение уже есть на сервере), то имеет смысл ввести третью таблицу - связующее звено. В этом случае при дублировании изображений в разных альбомах не будет создаваться лишняя запись в таблице изображений.

Если же такой необходимости нет и 1 изображение может принадлежать только 1 альбому, то нет необходимости вводить третью таблицу.
Ответ написан
Комментировать
Вариант не плох, только я бы добавил еще папки для каждого пользователя или альбома, и убрал бы таблицу связей, прок от нее мало эффективен на небольших объемах.
Ответ написан
При ваших заявленных числах - второй вариант.
Ответ написан
@artishok
кратко
Первый вариант.
Даже если одна картинка будет в нескольких альбомах, она может иметь разные название/описание.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы