ここで実際に行っているのは、多対多の関係です。考えてみてください。各タグは複数の投稿に含めることができ、各投稿には複数のタグを付けることができます。
このための正しいリレーショナルアーキテクチャは、次のように中央に別のテーブルを追加することです。
CREATE TABLE post_tags (
id INTEGER REFERENCES posts,
tag VARCHAR REFERENCES tags
);
次に、tags
を削除します 投稿テーブルの列。
さまざまな方向でpost_tagsと結合することで、投稿のタグのセットまたは特定のタグを持つ投稿のセットを取得できるため、これによりすべての問題が解決されます。通常のLIKEクエリを使用して、何かで始まるタグのリストを取得することもできます。これは、1つのフィールドに連結された文字列の束がある場合はより困難になります。