IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

"Archivage" de données modifiées


Sujet :

Schéma

  1. #1
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 94
    Points
    94
    Par défaut "Archivage" de données modifiées
    Bonjour.

    Il y a assez longtemps de ça j'avais trouvé sur le site un PDF très intéressant concernant "l'archivage" (ça ne doit pas être le bon terme) des données dans une base et je n'arrive pas à remettre la main dessus. Ce document indiquait comment procéder pour conserver des données originales lorsqu'elles changeaient dans le temps, document que je n'ai malheureusement pas gardé.

    Exemple très concret : dans une table de salariés, comment s'y prend t-on quand une femme se marie et change de nom ?

    Autre exemple, moins concret mais envisageable : dans une même table, comment fournir des chiffres exacts si le chef de service nous demande combien de salariés habitaient dans telle ville en 2018, sachant qu'il est impossible que personne n'ait déménagé depuis ?

    En espérant être clair...

    Merci.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Certains SGBD tels que IBM DB2 et MS SQL Server proposent des tables temporelles.
    Sinon, selon le besoin, il faut créer une ou plusieurs tables d'historique.
    Pour le cas du "changement de nom", on ne remplace jamais le nom de naissance par le nom marital : dans une table des personnes, on prévoit une colonne "nom de naissance" et une colonne "nom d'usage" qui sera "nullable".

  3. #3
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 94
    Points
    94
    Par défaut
    Pour ce qui est de l'adresse, j'avais en quelque sorte une solution sous les yeux qui pourrait fonctionner. Généralement, les adresses sont stockées dans une table T_ADRESSES et les localités dans une table T_LOCALITES. Des clés étrangères s'occupent des relations : T_LOCALITES, T_ADRESSES, T_PERSONNES. Ce qui fait que plusieurs adresses sont saisissables pour une personne. Le but initial n'était pas d'historiser mais de préciser par exemple une adresse pour une résidence principale et une pour une résidence secondaire (ou une adresse de villégiature en semaine et une le week-end). Il suffirait donc d'ajouter une colonne DATE et il serait ainsi facile de gérer un historique des déménagements (ce n'est qu'un exemple parmi tant d'autres). Resterait ensuite à concevoir une requête qui irait chercher les résultats en fonction de différents paramètres.

    Pour le nom, j'ai pour habitude de définir 2 colonnes, comme vous précisez, nom de naissance et nom d'usage. Seulement, je fais les choses à l'envers : nom de naissance uniquement pour les femmes mariées. Mais quoi qu'il en soit, ça ne résout pas le problème si le cas suivant se présente :

    - En 2001, Mlle Dupont est embauchée dans l'entreprise.
    - En 2002, elle devient Mme Durand.
    - En 2010, elle divorce.
    - En 2015, elle se remarie et devient Mme Dulac.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    En général on ne s'intéresse guère à l'historique des noms d'usage, mais si toutefois c'est le cas, alors soit on crée une table historique alimentée par traitement, soit on utilise les tables temporelles (si toutefois le SGBD concerné les propose, ce n'est pas le cas de tous)

Discussions similaires

  1. [CKEditor] Afficher les données à modifier
    Par ACDesign3r dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 20/06/2007, 09h30
  2. Mise à jour base des données modifiées dans le DataGridView
    Par dolyne.b dans le forum Windows Forms
    Réponses: 9
    Dernier message: 26/04/2007, 15h58
  3. Réponses: 3
    Dernier message: 20/12/2006, 17h59
  4. [SQL SERVER 2005] Connaitre les données modifiées.
    Par abrial dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/09/2006, 14h33
  5. [CR11] mise à jour source de donnée modifiée
    Par KrusK dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 16/08/2005, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo