为照片添加标签 mysql

Add tags to photos mysql

我正在使用 PHPMySQL 实施基于标签的搜索,其中每张照片都有多个标签。我将使用此标签来搜索照片。 例如,当我搜索查询 "building" 时,我想要所有具有 "building" 标签的照片。

这是我的表格:

photos(photo_id, name, url)
tags(tag_id, tag, photo_id)

这是真的吗?或者有更好的想法表示赞赏

标准化到第三范式:

photos(photo_id, name, url)
tags(tag_id, tag_name, tag_desc)

参考:

photo_tag_refr(photo_id,tag_id, other_attributes)

照片(photo_id,姓名,url)

标签(tag_id,标签)

tags_photos(tag_id,photo_id)

按标签示例搜索照片:

Select * From `photos` p 
LEFT JOIN `tags_photos` tp ON p.photo_id = tp.photo_id 
LEFT JOIN `tags` t ON tp.tag_id = t.tag_id WHERE t.tag = 'building';

http://sqlfiddle.com/#!9/47a7e/1