Skip to main content

Modélisation Conceptuelle de Données. Nickel. Ni souris.

Project description

15 mai 2023. Mocodo 3.2.0 prend en charge la visualisation des contraintes sur associations.

11 mai 2023. Ajout d'un tutoriel / galerie d'exemples dans la version en ligne de Mocodo 3.1.2.

24 décembre 2022. Mocodo 3.1.1 corrige la gestion des collisions des SVG interactifs.

14 décembre 2022. Mocodo 3.1 améliore le passage au relationnel : prise en charge de gabarits personnels dérivés des gabarits existants, traitement des tables indépendantes réduites à leur clé primaire, génération d'un graphe des dépendances pour le tri topologique des tables, etc.

11 septembre 2022. Mocodo 3.0 introduit l'héritage, l'agrégation, les calques, les sorties PDF et PNG, etc.


Documentation au format HTML ou sous forme de notebook Jupyter.


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 d'utilisation sous Jupyter Notebook. L'appel du programme est en première ligne, sur un texte d'entrée donné lignes suivantes. Le cas est adapté de l'article fondateur de Peter Chen, The entity-relationship model—toward a unified view of data (ACM Trans. Database Syst. 1, 1, March 1976, pp. 9–36), avec en bonus une association de type hiérarchique et une contrainte d'inclusion.

%%mocodo --mld --colors brewer+1 --shapes copperplate --relations diagram markdown_data_dict

Ayant-droit: nom ayant-droit, lien
Diriger, 0N Employé, 01 Projet
Requérir, 1N Projet, 0N Pièce: qté requise
Pièce: réf. pièce, libellé pièce
Composer, 0N [composée] Pièce, 0N [composante] Pièce: quantité

DF1, _11 Ayant-droit, 0N Employé
Employé: matricule, nom employé
Projet: num. projet, nom projet
Fournir, 1N Projet, 1N Pièce, 1N Société: qté fournie

Département: num. département, nom département
Employer, 11 Employé, 1N Département
Travailler, 0N Employé, 1N Projet
Société: num. société, raison sociale
Contrôler, 0N< [filiale] Société, 01 [mère] Société

(I) --Fournir, ->Requérir, ..Pièce, Projet

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

Ayant-droit (#matricule, nom ayant-droit, lien)
Composer (#réf. pièce composée, #réf. pièce composante, quantité)
Département (num. département, nom département)
Employé (matricule, nom employé, #num. département)
Fournir (#num. projet, #réf. pièce, #num. société, qté fournie)
Pièce (réf. pièce, libellé pièce)
Projet (num. projet, nom projet, #matricule)
Requérir (#num. projet, #réf. pièce, qté requise)
Société (num. société, raison sociale, #num. société mère)
Travailler (#matricule, #num. projet)

L'appel précédent a également créé un fichier mocodo_notebook/sandbox_data_dict.md contenant le dictionnaire des données :

  • nom ayant-droit
  • lien
  • quantité
  • num. département
  • nom département
  • matricule
  • nom employé
  • qté fournie
  • réf. pièce
  • libellé pièce
  • num. projet
  • nom projet
  • qté requise
  • num. société
  • raison sociale

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

%mocodo --input mocodo_notebook/sandbox.mld --colors desert

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 augmentera ses chances d'attirer des contributeurs qui le feront évoluer.

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mocodo-3.2.1.tar.gz (137.1 kB view hashes)

Uploaded Source

Built Distribution

mocodo-3.2.1-py3-none-any.whl (165.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page