为照片mysql添加标签

时间:2015-05-06 11:15:37

标签: php mysql foreign-keys relational-database

我正在使用PHPMySQL实现基于标记的搜索,其中每张照片都有多个标记。我将使用此标签来搜索照片。 例如,当我搜索“建筑物”查询时,我想要所有带有“建筑物”标签的照片。

以下是我的表格:

photos(photo_id, name, url)
tags(tag_id, tag, photo_id)
这是真的吗?或者更好的主意表示赞赏

2 个答案:

答案 0 :(得分:1)

规范化至第三范式:

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

参考:

photo_tag_refr(photo_id,tag_id, other_attributes)

答案 1 :(得分:0)

照片(photo_id,姓名,网址)

标签(tag_id,tag)

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