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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file mocodo-3.2.1.tar.gz.

File metadata

  • Download URL: mocodo-3.2.1.tar.gz
  • Upload date:
  • Size: 137.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.9.13 Darwin/21.6.0

File hashes

Hashes for mocodo-3.2.1.tar.gz
Algorithm Hash digest
SHA256 bf1eb8a3728d187daa648cede08af0028914dac7404ec7e3c9e461bb22344edf
MD5 5d66ef91a1a1c609c0b36d87c33dba82
BLAKE2b-256 6830d41728f1ce01c9e3dd29fb83c5df48983064c9057e0417e25303a33adff9

See more details on using hashes here.

Provenance

File details

Details for the file mocodo-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: mocodo-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 165.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.9.13 Darwin/21.6.0

File hashes

Hashes for mocodo-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de5f5a615b97074f6661cf34aa352a058838e6ef2c79ec2ed2bda33c59d1ba6f
MD5 ae6dbea1fec5a95f067552bf6c8b6317
BLAKE2b-256 9f625ca3d664517a76ce3a8db4dcbbbbe414391c40ec402700c77b2c8d043fee

See more details on using hashes here.

Provenance

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