【问题标题】:many to many table relationship for allowing a photo to be on multiple albums in a mysql image gallery多对多表关系,允许一张照片出现在 mysql 图片库中的多个相册中
【发布时间】:2015-05-18 22:58:06
【问题描述】:

我正在创建一个 mysql 驱动的在线相册,到目前为止我有 3 个带有模式的表:

照片:

  • imageID(主键)
  • 标题
  • 专辑标题
  • image_url
  • 拍摄日期

专辑:

  • 专辑标题
  • 创建日期
  • 日期修改
  • album_ID(主键)

用户:

  • 用户 ID(主键)
  • 用户名
  • 电子邮件

我知道,为了允许用户将照片放在多个相册中,我需要创建第四个表,而不是将 albumID 放在 Photos 表中(这不允许放置照片多张专辑)。 我应该对我的架构进行哪些更改(如果有的话),我应该在第四张桌子上放什么以允许单个图像出现在多个相册中?

PS 我正在使用phpmyadmin 创建我的数据库。

【问题讨论】:

    标签: php mysql phpmyadmin photo-gallery


    【解决方案1】:

    Albums_Photos: album_id, image_id

    尝试保持您的命名一致...即您有 imageID 和 album_ID。
    就个人而言,当 ID 与表本身相关时,我只使用 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_idphoto_id 创建复合主键。

    您可能也想从Photos 中删除album_title

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多