आप वास्तव में यहां जो चल रहे हैं वह कई-से-अनेक संबंध है। इसके बारे में सोचें:प्रत्येक टैग कई पोस्ट पर हो सकता है, और प्रत्येक पोस्ट में कई टैग हो सकते हैं।
इसके लिए सही रिलेशनल आर्किटेक्चर इस तरह बीच में एक और टेबल जोड़ना है:
CREATE TABLE post_tags (
id INTEGER REFERENCES posts,
tag VARCHAR REFERENCES tags
);
फिर tags
को छोड़ दें आपकी पोस्ट टेबल पर कॉलम।
यह आपके सभी मुद्दों को हल करता है, क्योंकि आप किसी पोस्ट पर टैग का सेट या किसी दिए गए टैग के साथ पोस्ट के सेट को अलग-अलग दिशाओं में post_tags के साथ जुड़कर प्राप्त कर सकते हैं। आप उन टैगों की सूची भी प्राप्त कर सकते हैं जो नियमित LIKE क्वेरी का उपयोग करके किसी चीज़ से शुरू होते हैं, जो कि अधिक कठिन होगा यदि आपके पास एक फ़ील्ड में स्ट्रिंग्स का एक गुच्छा है।