Database design 照片表的两个问题-FK和个人资料照片Q

Database design 照片表的两个问题-FK和个人资料照片Q,database-design,Database Design,1) 我有两张桌子:照片桌和EXIF桌。EXIF表格存储照片的EXIF数据 照片表有:Photo\u id,exif\u id. EXIF表格有:EXIF\u id,photo\u id. 所以从本质上讲,photo表中的exif_id可以是FK到exif表中的exif_id。但exif表中的photo_id可以是FK到photo表中的photo_id。我需要两个FK还是一个FK可以 2) 我看到的所有示例模式都有一个用于明矾照片的照片表。个人资料相册和现场个人资料照片怎么样?这通常是一个单独的

1) 我有两张桌子:照片桌和EXIF桌。EXIF表格存储照片的EXIF数据

照片表有:
Photo\u id,exif\u id.
EXIF表格有:
EXIF\u id,photo\u id.

所以从本质上讲,photo表中的exif_id可以是FK到exif表中的exif_id。但exif表中的photo_id可以是FK到photo表中的photo_id。我需要两个FK还是一个FK可以


2) 我看到的所有示例模式都有一个用于明矾照片的照片表。个人资料相册和现场个人资料照片怎么样?这通常是一个单独的表还是相册表中的一个标志?

您的问题有点模糊,但基于给定的信息:

1) 如果每个Photo\u id可以有多个exif行,则只需要exif\u id。如果不需要,只需使用Photo\u id即可


2) 我只需要用一个标志来显示照片类型。

对于1,您的意思是只有1张桌子?或2个表(照片表和EXIF表),并将EXIF表中的PK再次作为照片id?我制作两个表的唯一原因是“规范化”数据,因为EXIF数据的长度约为15-20列。如果每个照片行只有一个EXIF行,则它们可以是一个表。如果许多照片行没有EXIF行,那么最好将它们拆分为两个表。如果每个照片行只有0或1个EXIF行,则不需要EXIF\u id。如果每个照片行有多个EXIF行,则需要EXIF\u id。