To, co se tady ve skutečnosti děje, je vztah mnoho k mnoha. Přemýšlejte o tom:každý štítek může být na několika příspěvcích a každý příspěvek může mít několik štítků.
Správnou relační architekturou je přidat doprostřed další tabulku takto:
CREATE TABLE post_tags (
id INTEGER REFERENCES posts,
tag VARCHAR REFERENCES tags
);
Poté odstraňte tags
sloupec v tabulce příspěvků.
To vyřeší všechny vaše problémy, protože můžete získat sadu značek na příspěvku nebo sadu příspěvků s daným štítkem spojením proti post_tags v různých směrech. Seznam značek, které začínají něčím, můžete také získat pomocí běžného dotazu LIKE, což bude obtížnější, pokud budete mít v jednom poli zřetězenou spoustu řetězců.