我正在使用PHP
和MySQL
实现基于标记的搜索,其中每张照片都有多个标记。我将使用此标签来搜索照片。
例如,当我搜索“建筑物”查询时,我想要所有带有“建筑物”标签的照片。
以下是我的表格:
photos(photo_id, name, url)
tags(tag_id, tag, photo_id)
这是真的吗?或者更好的主意表示赞赏
答案 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';