这是我ERD中的循环吗?

时间:2014-11-15 01:08:33

标签: database erd

我有以下ERD图,其中每个User都有很多Devices并且需要很多Photo s。每个Photo由一个Device占用,每个Device可以占用多个Photo。这被认为是ERD背景下的循环吗?如果是这样,我该如何避免呢?

ERD

1 个答案:

答案 0 :(得分:2)

有两种方法可以处理你的错误。

选项#1:将用户与设备分离

user
    id

user_photo
    id
    user_id
    device_id

photo_device
    id
    token
    value

使用此选项,当用户上传照片时,您可以列出photo_device表中的所有设备,然后用户可以选择要保存的设备,并在保存时将user_id和选定的device_id保存到user_photo表中。

选项#2:将用户耦合到设备

user
    id

user_photo
    id
    user_id
    user_device_id

user_device
    id
    user_id
    device_id

photo_device
    id
    token
    value

使用此选项,您可以允许用户将常用设备与其帐户相关联,因此当他们选择上传照片时使用的设备时,列表可能会从几百个到几个。这里唯一的区别是我们在user_photo表中保存了user_device的id,而不仅仅是photo_device id。