2010-09-11 5 views
1

Je suis en train de concevoir un système qui inclura un historique des modifications apportées aux publications des utilisateurs. Je m'attends à ce qu'environ un tiers des messages publiés par mes utilisateurs comportent des modifications. La plupart d'entre eux n'auront qu'une poignée de versions. Atteindre les deux chiffres sera très rare.Schéma de base de données pour stocker l'historique d'édition

Quel est le meilleur schéma pour représenter ces données dans la base de données? Quels tableaux devrais-je avoir, et que devraient-ils stocker?

Répondre

3

Le schéma que je prévois est d'avoir une table Posts et une table History. Quand quelqu'un fait sa première publication, il ne va que dans la table Posts. Ensuite, si elles ou un autre utilisateur modifient la publication ultérieurement, deux entrées sont apportées à la table Historique: une pour la version originale et une seconde pour la version modifiée. De même, la table Posts sera mise à jour avec les dernières informations. Des modifications supplémentaires produiront une seule nouvelle entrée dans la table Historique et une mise à jour de la table Posts.

Le seul problème que je vois est que la version actuelle est finalement dupliquée dans les deux tableaux, mais je pense que la facilité d'associer les utilisateurs à leurs modifications rend cela utile.

Questions connexes