Cette question des tables d'historique permettant de retracer toutes les modifications successives de chaque ligne d'une table, je l'ai rencontrée plusieurs fois quand je travaillais.
Les réponses existaient, mais n'étaient pas toujours simples à mettre en oeuvre. Et ne garantissaient pas l'authenticité de l'historique.
Ces derniers temps, pour vérifier que la nouvelle version de SF en préparation était bien compatible avec SQL 2016, je me suis intéreressé aux nouveautés de SQL 2016.
Et surprise! les tables d'historique sont maintenant complètement intégrées à SQL Server, dans le respect de la norme ISO SQL.
Et en plus, cette nouveauté est parfaitement supportée par VFP.
Qu'est-ce que c'est?
Leur dénomination en anglais est "System-Versioned Temporal Tables". En
français, on dira "Tables Temporelles avec Contrôle de Version par le Système".
En abrégé, on les appelle les tables d'historiques, ou tables temporelles.
Ce sont des tables qui conservent de façon automatique, permanente et horodatée
les différentes versions successives de chaque ligne créée, modifiée, ou
supprimée.
Vous pouvez selon vos besoins démarrer ce service en créant une nouvelle table,
ou bien à partir d'une table existant déjà.
Dans les deux cas, le serveur SQL créera une deuxième table pour enregistrer les
versions de l'historique.
On appellera table principale celle qui contient les données actuelles, que vous
créez/modifiez/supprimez selon les besoins de vos applications. C'est le moteur
SQL qui va alimenter la table d'historique liée, sans que vous ayez quoi que ce
soit à changer à votre code existant.
L'ensemble des 2 tables forme la table temporelle.
À quoi ça sert?
Si vous avez besoin de prouver que les données d'une table n'ont pas été
modifées en dehors de votre application
Si vous devez auditer les états successifs qui ont conduit à conserver les
données telles qu'elles sont
Si vous avez besoin de "restaurer" une seule table, par exemple pour corriger
une serie d'erreurs de saisie
Si vous cherchez les ruptures et anomalies dans des données métier