laowantong / mocodo

Modélisation Conceptuelle de Données. Nickel. Ni souris.
https://www.mocodo.net
MIT License
181 stars 51 forks source link

Sortie au format Graphviz #68

Closed laowantong closed 1 year ago

laowantong commented 1 year ago

Il pourrait être intéressant de générer une version simplifiée du diagramme relationnel sous la forme d'un graphe orienté dont les sommets seraient les tables et les arcs les relations de clé étrangère (inversées). Le plongement par défaut de Graphviz (dot) présente les sommets d'un tel graphe par ordre topologique (autant que faire se peut). Connaître cet ordre serait utile pour remplir la base sans désactiver les contraintes de clés étrangères, ou en les désactivant au minimum (p. ex., DF réflexive).

fduchatea commented 1 year ago

D'un point de vue pédagogique, les étudiants ont tendance à confondre/mélanger diagramme E/A et schéma relationnel (sous forme textuel). J'évite du coup de leur montrer un schéma relationnel sous forme graphique pour ne pas ajouter à la confusion. Mais beaucoup d'outils de modélisation permettent la visualisation du schéma relationnel sous forme graphique, donc ça peut être une feature intéressante.

laowantong commented 1 year ago

Je génère déjà ce que j'ai appelé un diagramme relationnel (je vous laisse regarder la doc). Ici ce serait juste le graphe orienté que j'ai décrit.

laowantong commented 1 year ago

Exemple de diagramme relationnel :

relational

Graphe orienté correspondant :

image

Au format Graphviz :

digraph {
    entreprise -> client
    thème -> maîtriser
    formation -> session
    client -> inscrire
    session -> inscrire
    session -> animer
    animateur -> animer
    animateur -> session
    animateur -> maîtriser
    thème -> intéresser
    entreprise -> intéresser
    thème -> formation
}
laowantong commented 1 year ago

Documentation