3

ユーザーの投稿に加えられた編集の履歴を含むシステムを設計しています。ユーザーによる投稿の約1/3に、何らかの編集が含まれていると思います。それらのほとんどには、ほんの一握りのバージョンしかありません。2桁に達することは非常にまれです。

データベースでこのデータを表すのに最適なスキーマは何ですか?どのテーブルが必要で、何を保存する必要がありますか?

4

1 に答える 1

4

私が想定しているスキーマは、PostsテーブルとHistoryテーブルを持つことです。誰かが最初に最初の投稿を行うとき、それは投稿テーブルにのみ入ります。その後、自分または別のユーザーが投稿を編集すると、履歴テーブルに2つのエントリが作成されます。1つは元のバージョン用で、もう1つは編集済みバージョン用です。同様に、投稿テーブルは最新の情報で更新されます。追加の編集により、Historyテーブルへの単一の新しいエントリとPostsテーブルの更新が生成されます。

私が見ている問題の1つは、現在のバージョンが最終的に両方のテーブルに複製されることですが、ユーザーを編集に簡単に関連付けることができるので、これは価値があると思います。

于 2010-09-11T03:24:10.283 に答える