Modélisation Conceptuelle de Données. Nickel. Ni souris.
Clone or download
Latest commit 2c9e68f Nov 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc add instructions for automatic loading of mocodo_magic Sep 8, 2017
logos redraw master icon Oct 1, 2016
magic fix #44 Nov 5, 2018
mocodo fix KeyError when raising Error 15 Apr 19, 2017
web revert previous commit Nov 5, 2018
.gitignore accept dots in MCD title Oct 1, 2018
LICENSE Create LICENSE Aug 6, 2017
README.md fix some typos Apr 6, 2017
index.html fix #43 and publish mocodo online source code Oct 1, 2018
mocodo.py fix #36 Sep 30, 2016
setup.py fix #36 Sep 30, 2016

README.md

Mocodo est un logiciel d'aide à l'enseignement et à la conception des bases de données relationnelles.

  • En entrée, il prend une description textuelle des entités et associations du modèle conceptuel de données (MCD).
  • En sortie, il produit son diagramme entité-association en SVG et son schéma relationnel (MLD) en SQL, LaTeX, Markdown, etc.

Ci-dessous, un exemple sous Jupyter Notebook. L'appel du programme se fait en première ligne, sur un texte d'entrée donné lignes suivantes.

%%mocodo --mld --colors brewer+1 --shapes copperplate --relations diagram markdown_data_dict
DF, 11 Élève, 1N Classe
Classe: Num. classe, Num. salle
Faire Cours, 1N Classe, 1N Prof: Vol. horaire
Catégorie: Code catégorie, Nom catégorie

Élève: Num. élève, Nom élève
Noter, 1N Élève, 0N Prof, 0N Matière, 1N Date: Note
Prof: Num. prof, Nom prof
Relever, 0N Catégorie, 11 Prof

Date: Date
Matière: Libellé matière
Enseigner, 11 Prof, 1N Matière

En sortie, le MCD (diagramme conceptuel) et le MLD (schéma relationnel) correspondants:

Classe (Num. classe, Num. salle)
Faire Cours (Num. classe, Num. prof, Vol. horaire)
Catégorie (Code catégorie, Nom catégorie)
Élève (Num. élève, Nom élève, Num. classe)
Noter (Num. élève, Num. prof, Libellé matière, Date, Note)
Prof (Num. prof, Nom prof, Libellé matière, Code catégorie)

L'appel ci-dessus a également construit le dictionnaire des données:

  • Num. classe
  • Num. salle
  • Vol. horaire
  • Code catégorie
  • Nom catégorie
  • Num. élève
  • Nom élève
  • Note
  • Num. prof
  • Nom prof
  • Date
  • Libellé matière

Ainsi que le diagramme relationnel, qui peut être visualisé par un nouvel appel:

%mocodo --input mocodo_notebook/sandbox.mld --colors brewer+1

La devise de Mocodo, « nickel, ni souris », en résume les principaux points forts:

  • description textuelle des données. L'utilisateur n'a pas à renseigner, placer et déplacer des éléments comme avec une lessive ordinaire. Il ne fournit rien de plus que les informations définissant son MCD. L'outil s'occupe tout seul du plongement;
  • propreté du rendu. La sortie se fait en vectoriel, prête à être affichée, imprimée, agrandie, exportée dans une multitude de formats sans perte de qualité;
  • rapidité des retouches. L'utilisateur rectifie les alignements en insérant des éléments invisibles, en dupliquant des coordonnées ou en ajustant des facteurs mutiplicatifs: là encore, il travaille sur une description textuelle, et non directement sur le dessin.

Mocodo est libre, gratuit et multiplateforme. Si vous l'aimez, répandez la bonne nouvelle en incluant l'un de ses logos dans votre support: cela multipliera ses chances d'attirer des contributeurs qui le feront évoluer.

Pour vous familiariser avec Mocodo, le mieux est d'utiliser sa version en ligne.

Pour en savoir plus, lisez la documentation au format HTML ou téléchargez-la au format Jupyter Notebook.