データベースの正規化 について読む必要があると思います 自分で決めてください。要するに、あなたの提案には多くの問題がありますが、あなたはそれらと一緒に暮らせると決めるかもしれません。
最も明白なものは次のとおりです。
- 行(1)にタグが追加された場合はどうなりますか?最初に解析し、すでに存在するかどうかを確認してから、行を
tags.append(newTag)
に更新する必要がありますか? 。 - さらに悪いのはタグを削除することですか?タグを検索し、存在し、タグを再作成します。
- タグが名前を変更する場合はどうなりますか?おそらく、何らかのモデレートプロセスですか?
- さらに悪いことに、タグ名を別の方法で指定するさまざまな人々はどうでしょうか。合理化するのは難しいでしょう。
- タグに基づいてデータをクエリする場合はどうなりますか?クエリは必要以上に複雑になります。
- プレゼンテーション:クライアントは、タグを使用するためにタグを解析する必要があります。セパレータフィールドはどうですか?それを変更すると、すべてのクライアントを変更する必要があります。
要するに、これらの操作はすべて、より困難で面倒になります。正規化は、このような問題を克服するように設計されています。おそらく、IMOというあなたの言うことを行う唯一の理由は、データを1回限りとしてキャプチャしていることであり、それは情報提供のみです。つまり、ユーザーには意味がありますが、システム自体には意味がありません。これは、おそらく回避するのが最善だと言っているようなものです(繰り返しますが、IMO)。