我想设计一个数据库模式来保持项目持久性。 对于每件商品,我都有
我认为我的数据库架构需要
我的问题是如何为每件商品保存多张照片?每件商品可以有1张或多张与之相关的照片。
谢谢。
答案 0 :(得分:1)
您可以创建第二个表格,用于存储照片以及它们所属项目的ID。第二个表中的多行(每张照片一行)可以引用同一个项目。您存储在照片表中的商品ID是items表中的外键。例如,假设您的items表包含以下三个项目:
id | title
----+-------
1 | House
2 | Car
3 | Tree
让我们说House和Tree每张只有一张照片,但Car有2张照片。您可以在照片表中存储以下内容:
id | item_id | photo
----+---------+-----------
1 | 1 | pic.jpg
2 | 2 | front.jpg
3 | 2 | side.jpg
4 | 3 | green.jpg
在上表中,您可以看到pic.jpg
属于第一个项目(House),front.jpg
和side.jpg
属于第二个项目(Car)和{{1} }属于第三项(树)。
如果您想查找第二个项目的标题和照片,可以运行以下查询:
green.jpg
答案 1 :(得分:0)
这是一个关系型数据库吗?如果是的话......
如果照片只能有一个父母,那么您只需要一张表格,用于拥有父表格外键的照片。
如果照片可以包含多个父级,则您需要使用多对多表将项目表中的记录链接到照片表中的记录。多对多表将为项目和照片主键提供外键。