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

Modélisation Discussion :

Mise en page du modèle relationnel


Sujet :

Modélisation

  1. #1
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut Mise en page du modèle relationnel
    Bonjour à tous,

    Lorsque la structure d'une base de donnée devient conséquente, le modèle relationnel affiché par Access tend à ressembler à un plat de spaghettis qu'il faut essayer de déméler manuellement.
    Peu de chance que Microsoft développe une option d'optimisation du graphe mais on peut s'en sortir en utilisant un outil gratuit comme Graphviz qui fait cela très bien et dont le résultat peut servir de guide.

    J'en viens à mon contexte : j'ai une base fractionnée avec un front-end unique et un back-end par année. Le travail ci-dessus devient alors fastidieux.

    Voici ma question : connaissez-vous un moyen de répliquer une mise en page satisfaisante dans autres bases _be ?

    Merci de suggestions

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Autant que je sache, les outils dont on dispose sont assez limité.
    Personnellement j'utilise l'utilitaire développé par Stephen Lebans (http://www.lebans.com/) sur sa page http://www.lebans.com/saverelationshipview.htm
    Le fichier http://www.lebans.com/DownloadFiles/...Layoutver9.zip

    Il permet d'enregistrer la position des tables dans une table et de se servir de cette table pour restaurer les positions.

    Attention, il est prévu pour une version en anglais et le code s'attend à trouver une fenêtre "Relationships" et il faut le changer pour "Relations".

    Je m'en suis servi sous toutes les versions de 2003 à 2010 sans problème.

    Note les autres fonctions proposées (autre que la sauvegarde/restauration) ne semblent pas fonctionner mais je n'ai pas cherché plus loin car je n'en avais pas besoin.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut
    Bonjour et merci pour cette information.

    J'ai donc téléchargé l'outil et modifié "relationships" en "relations" où il convenait et ajouté ".accdb" dans la boite de sélection de la base de données à prendre comme modèle de dessin des relations.

    Comme ma base est "externe" à l'outil j'ai choisi l'onglet "Restore Layout form External MDB" puis j'ai sélectionné ma database puis cliqué sur "Select a Database containing the desired Relationship Window". La table "tblRelationshipViews" de l'outil est bien chargée et avec mon modèle relationnel référencé par "Admin".

    Ensuite rien ne va plus, quand je clique sur ""Restore the selected Relationship View" ça m'affiche pour résultat la base de test de l'outil (customer_1, etc ...).

    Bref je n'ai pas compris tout le film. Peux-tu m'expliquer la marche à suivre pour réappliquer la mise en forme du modèle stp ?

    Merci d'avance.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Désolé.

    Je ne m'en suis jamais servis comme un outil externe.
    J'importe les morceaux dans ma BD et je l'utilise là.
    Et j'ai constaté que cela fonctionnait mieux si la fenêtre des relations est ouverte et ses ascenseurs en haut à droite.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut
    J'ai un peu avancé dans l'utilisation de l'outil mais je n'ai pas été convaincu de son efficience, du coup j'ai fait le travail à la main (5 bases).

    Si je peux donner un conseil à ceux qui liront cet échange, c'est de :
    - lister les relations par une boucle en VBA avec debug.print
    - coller ce résultat dans les paramètres de Graphviz (outil gratuit qui optimise le dessin de graphes, c-à-d avec un minimum de croisements)
    - se servir du résultat comme guide pour corriger le modèle relationnel

    A titre d'exemple je mets en pièce jointe mes fichiers Graphviz : GrapheRelations.zip
    - un .bat pour lancer Graphviz
    - un .txt qui contient les paramètres pour Graphviz
    - un .pdf qui montre le résultat obtenu : les lignes en pointillé représentent les intégrités de type UpdateCascade et celles en trait plein DeleteCascade.

    Salutations.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Merci Arundel, c'est toujours intéressant d'avoir d'autres outils sous la main.

    Je n'ai sans doute pas été clair quand aux limitations de l'outil de Stephen Lebans.
    Il est seulement utile pour avoir les positions actuelles dans la fenêtre des relations.
    Il ne fait rien quand à la disposition des tables.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut
    Tant qu'à faire autant être complet, j'ajoute donc la procédure qui génère les paramètres pour Graphviz.
    Je précise que les contraintes d'intégrité les plus nombreuses étant en UpdateCascade plutôt qu'en DeleteCascade, j'ai mis les arcs du graphe en pointillé par défaut afin de moins charger le .txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    'Génère les directives pour Graphviz dans la fenêtre d'exécution
    Sub GV_Directives()
     Dim dbc As dao.Database: Set dbc = CurrentDb
     Dim rel As dao.Relation
     Dim strAttrib As String, strRelName As String
     Dim lngNbRel As Long, lngNbDel As Long, lngDeb As Long
     For Each rel In dbc.Relations
      strAttrib = vbNullString
      lngDeb = InStr(1, rel.Name, "tbl")
      If lngDeb > 0 Then 'C'est une table utilisateur
       strRelName = Mid$(rel.Name, lngDeb) 'Shunt du préfixe si recherche dans back-end à partir du front-end
       lngNbRel = lngNbRel + 1 'Compteur de relations
       If rel.Attributes >= dbRelationDeleteCascade Then
        strAttrib = " [style=filled]"
        lngNbDel = lngNbDel + 1 'Compteur des contraintes ayant l'option Delete
       End If
       Debug.Print rel.Table & " -> " & rel.ForeignTable & strAttrib
      End If
     Next rel
     
     MsgBox lngNbRel & " relations dont " & lngNbDel & " DeleteCascade"
     
     dbc.Close: Set dbc = Nothing
    End Sub
    Avec le fichier de commande Graphviz mis à jour : GrapheRelations.txt

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Merci.

    Il y a longtemps que je cherchai un truc du genre.
    J'avais essayer de bricoler cela en Excel et en Visio mais il manquait la possibilité de réorganisation des tables ou alors les résultats n'était pas terrible.
    Graphiz semble assez prometteur dans ce domaine.

    Sais-tu si il est capable de "retourner" les coordonnées des tables dans le graphique résultat ?
    Si oui, en le combinant avec l'outil Stephen Lebans on pourrait peut-être réorganiser les tables dans la fenêtre des relations.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut
    Bonsoir,

    Je pense qu'il est possible d'extraire des coordonnées bien que n'ayant pas moi-même poussé très loin sur le sujet.

    Je ci-joint le contenu de l'annexe B du dotguide.pdf qui parle de cela : DotGuide_Annexe_B.pdf

    Je te suggère d'installer le produit et de faire le test.

    Bien cordialement.

  10. #10
    Membre régulier
    Homme Profil pro
    Manager de projet (retraité)
    Inscrit en
    Juillet 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Manager de projet (retraité)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 150
    Points : 71
    Points
    71
    Par défaut
    Je complète le post précédent pour te donner le résultat de l'exécution en mode Plain : GrapheRelations _Plain.zip

    A bientôt probablement.

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Merci.

    Je vais tacher de regardez cela au plus vite.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [Débutant] Modèles importés mais non affichés sur l'onglet "Mise en page"
    Par LaChouette dans le forum SharePoint
    Réponses: 2
    Dernier message: 02/10/2014, 10h45
  2. [IP-2010] Thèmes et modèles de mise en page
    Par jff42 dans le forum InfoPath
    Réponses: 1
    Dernier message: 29/04/2014, 09h45
  3. [WD-2007] Modèle de mise en page
    Par Christophe9166 dans le forum Word
    Réponses: 3
    Dernier message: 08/01/2013, 18h48
  4. [DW8] Problème de mise en page entre modèle et site.
    Par Jere3110 dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 13/03/2008, 10h57
  5. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31

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