2017-06-09 18 views
0

レビューにゼロ個以上のタグを付けることができます。データベース、ManyToManyFieldの代わりにjsonフィールドを使用していますか?

3つのテーブルReview/Tag/ReviewTagRelationを使用してこれを実装できます。
ReviewTagRelationは、レビューとタグテーブルに外部キーを持ちます。

または2つのテーブルを使用するReview/Tag。 ReviewにはタグIDのリストを保持するjsonフィールドがあります。

伝統的なアプローチは、3つのテーブルを使用しているようです。
タグからのレビューを参照する必要がない場合に2つのテーブルのアプローチを使用するのがよいのだろうかと思います。

つまり、特定のレビューにどのタグが関連付けられているかを知る必要があります。

答えて

0

私の経験では、データベースのデータを正規化したままにしておくことが最善です。ただし、ビジネス要件に合っていないという明確な理由がある場合は除きます。

正規化されたデータを使用すると、探しているものを正確に受け取るためのクエリをいつでも書くことができます。何らかの理由でjsonとしてデータを返す場合は、そうすることができますあなたの選択したクエリで。

関連する問題