我有行的表是這樣的:我應該將標籤存儲在文本字段還是單獨的表格中?
id : path : tags
1 : pictures/pic1.jpg : car bmw
3 : pictures/pic2.jpg : cat animal pussy
4 : pictures/pic3.png : gun
基本上這就是我在表中存儲路徑的圖片畫廊,所以我可以列出他們在網頁上。
用戶可以根據他提供的關鍵字搜索某些圖片。因此,例如,他將「車槍」輸入到搜索字段中,並且具有這些標籤之一的所有圖片都會被拉出。 基本標籤搜索:
SELECT * FROM pictures WHERE tags LIKE '%car%' OR tags LIKE '%gun%'
現在我想知道的是什麼,什麼是存儲標籤更好的解決方案?它是上述一個或這一個:
表圖片:
id : path
1 : pictures/pic1.jpg
3 : pictures/pic2.jpg
4 : pictures/pic3.png
表標籤:
pic_id : tag
1 : car
1 : bmw
4 : gun
..and so on..
標籤都存儲在一個單獨的表在這裏和每個標籤都有自己的行,所以在搜索過程中,我將執行JOIN並以這種方式搜索匹配項。
哪種解決方案更好?
你migh我想閱讀[數據庫規範化](https://en.wikipedia.org/wiki/Database_normalization) – kero
我會去「帶pic_id的表格標籤」,只是因爲它呼吸,感覺更像是一個關係數據庫SQL變體是。 –