Mysql 如何为包含多张照片的项目设计数据库架构
我想设计一个数据库模式来保持项目的持久性。 对于每一项,我都有Mysql 如何为包含多张照片的项目设计数据库架构,mysql,sql,Mysql,Sql,我想设计一个数据库模式来保持项目的持久性。 对于每一项,我都有 头衔 一张或多张照片 我认为我的数据库模式需要 主键的id 标题字符串 我的问题是如何为每个项目保留多张照片?每个项目可以有一张或多张与之关联的照片 谢谢。您创建了第二个表,用于存储照片以及照片所属项目的id。第二个表中的多行(每张照片一行)可以引用同一项。存储在照片表中的项目id是项目表中的外键。例如,假设您的items表包含以下三项: id | title ----+------- 1 | House 2 | Car
谢谢。您创建了第二个表,用于存储照片以及照片所属项目的id。第二个表中的多行(每张照片一行)可以引用同一项。存储在照片表中的项目id是项目表中的外键。例如,假设您的items表包含以下三项:
id | title
----+-------
1 | House
2 | Car
3 | Tree
假设房子和树都只有一张照片,但汽车有两张照片。您可以在照片表中存储以下内容:
id | item_id | photo
----+---------+-----------
1 | 1 | pic.jpg
2 | 2 | front.jpg
3 | 2 | side.jpg
4 | 3 | green.jpg
在上表中,您可以看到pic.jpg
属于第一项(房屋),front.jpg
和side.jpg
属于第二项(汽车),而green.jpg
属于第三项(树)
如果要查找第二个项目的标题和照片,可以运行以下查询:
SELECT items.title, photos.photo
FROM items JOIN photos ON items.id = photos.item_id
WHERE items.id = 2
这是关系数据库吗?如果是 如果照片只能有一个父表,那么您只需要为照片创建一个表,该表具有父表的外键 如果照片可以有多个父项,则需要使用多对多表将项目表中的记录链接到照片表中的记录。多对多表中的项目主键和照片主键都有外键