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

UML Discussion :

Modelisation : problème d'historique


Sujet :

UML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 10
    Par défaut Modelisation : problème d'historique
    Bonjour,
    Je rencontre un problème souvent rencontré en base de données: l'historisation.

    Voici un extrait de la base de données actuelle :


    Je souhaite compléter ce shéma pour pouvoir historiser toutes les informations concernant un organisme (descriptif, email, adresse, tel/fax, ..etc)
    Pour chaque modification du contenu, on souhaite connaître : l'auteur et la date de la modif., le type d'élément modifié et son contenu.

    Merci de votre aide, car là je patauge
    Bruno

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Je n'ai pas l'impression que ce que tu souhaites s'appelle une "historisation" mais plutot "conserver une trace des actions".

    Je suppose que tu utilises un serveur d'application pour que les utilisateurs fassent des actions sur tes tables : pour chacune de ces actions, tu peux renseigner une table "actions", qui contiendra le type de modification, le champ modifié, et l'auteur.

    Si tout se passe en SQL, je vois mal comment t'en sortir, mis à part le fait que certains SGBDR possèdent une "journalisation" des évènements, mais je ne sais pas si il est facilement exploitable ( je ne m'en suis jamais servi ).

    Bonne chance ! Peut-être que quelqu'un d'autre a un meilleur commentaire à faire que moi.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 10
    Par défaut
    Merci pour ta réponse; en effet il serait possible de passer par une journalisation des évenements; mais l'intêret de ma question est que je souhaite (ou je veux) conserver une approche totalement objet afin de traiter les infos dans mon appli d'où la nécessité de modéliser ça en UML.
    Et pour ça je ne vois pas... :'|

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Et bien tu pourrais rajouter dans ton modèle une entité "action" qui serait décrite comme ça :

    - type d'action : INSERT, UPDATE, DELETE
    - table(s) concernée(s) : LISTE DES TABLES
    - colonne(s) concernée(s) : LISTE DES COLONNES
    - anciennes valeurs (si UPDATE ou DELETE) : LISTE DES ANCIENNES VALEURS
    - nouvelles valeurs (si UPDATE ou INSERT) : LISTE DES NOUVELLES VALEURS
    - auteur de l'action : INFORMATIONS DE L'AUTEUR
    - date de l'action

    Et on pourrait imaginer d'autres choses, c'est un début, est-ce ce que tu souhaites ?

  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Comme KiLVaiDeN. C'est d'ailleurs un pattern proposé dans XDE DataModeler le pattern "Audit Trail Pattern".
    A toi de voir si tu fais une seule table pour l'audit ou une table d'audit par table de ton modèle initial.
    Si le "qui" a modifié est lié au login de la connexion à ta base, tu pourras même mettre en place des triggers sur tes tables initiales sinon, tu devras tout faire dans ton code.

  6. #6
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Par défaut
    Je reprends le sujet puisque je bosse avec PtiBubu sur la modélisation de cette appli . Une précision, il s'agit de la modélisation UML et pas de de celle de la BD.

    Merci pour vos remarques et j'ai travaillé sur le modèle UML entre temps; je suis tombé sur un pattern intéressant "historic mapping" que l'on peut trouver sur le site de Martin Fowler: Temporal Property. En bref il permet de traiter les propriétés de l'objet qui changent au cours du temps.
    En gros pour l'exemple, j'aurais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Organisme{
    //get adresse actuelle
    Adresse getadress();
    //adresse à une date donnée
    Adresse getadress(Date);
    
    void changeAdresse(Adresse newadress,Date changeDate);
    Voila le diagramme UML tel qu'il se présente dans sa version (très) simplifiée.

    Faut encore que je reflechisse à tout ça mais si vous avez des commentaires, n'hésitez pas.
    Je regarde aussi très attentivement vos propositions et ce "Audit Trail Pattern".

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Modèle Relationnel] modelisation des historique des ventes
    Par brekiano dans le forum Schéma
    Réponses: 1
    Dernier message: 30/09/2011, 10h49
  2. Modéliser un historique
    Par naelle dans le forum Schéma
    Réponses: 4
    Dernier message: 02/07/2004, 17h26
  3. [TWebBrowser] ... et l'historique de I.E.
    Par Frederic dans le forum Composants VCL
    Réponses: 6
    Dernier message: 21/10/2002, 18h53
  4. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49
  5. historique d'une disquette
    Par bashou dans le forum MFC
    Réponses: 2
    Dernier message: 24/06/2002, 11h35

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