отношение многих ко многим таблицам для того, чтобы фотография была в нескольких альбомах в галерее изображений mysql

Я создаю онлайн-фотоальбом на базе mysql и пока у меня есть 3 таблицы со схемами:

Фото:

  • ImageID (основной ключ)
  • подпись
  • ALBUM_TITLE
  • URL изображения
  • выбранная дата

Альбомы:

  • ALBUM_TITLE
  • Дата создания
  • Дата изменена
  • album_ID (основной ключ)

Пользователи:

  • Идентификатор пользователя (основной ключ)
  • имя пользователя
  • Эл. адрес

Я знаю, что для того, чтобы пользователи могли размещать фотографии в нескольких альбомах, мне нужно создать четвертую таблицу, а не albumID в Photos таблица (которая не позволяет фотографии быть в нескольких альбомах).
Что я должен изменить в своей схеме (если что-нибудь) и что я положу на четвертую таблицу, чтобы одно изображение могло быть в нескольких альбомах?

PS я использую phpmyadmin создать мою базу данных.

1

Решение

Albums_Photos: album_id, image_id

Постарайтесь, чтобы ваши имена были согласованными … то есть у вас есть imageID и album_ID.
Лично, когда идентификатор относится к самой таблице, я просто использую идентификатор.
Так что у меня будет что-то вроде этого:

Photos: id (PK), caption, image_url, date_taken
Albums: id (PK), album_title, date_created, date_modified
Users: id (PK), username, email
Albums_Photos: album_id (FK albums.id), photo_id (FK photos.id)

С Albums_Photos стол, который вы могли бы добавить id столбец для первичного ключа, или вы можете создать составной первичный ключ, используя album_id а также photo_id,

Вы, вероятно, хотите взять album_title снаружи Photos тоже.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]