DBConcept - Modélisation EAP

DBConcept permet de modeliser une base de données à partir d'un modèle EAP. C'est un logiciel libre, gratuit, et ne collectant aucune donnée.

Son principe de fonctionnement est identique à celui de Mocodo : À partir d'une description textuelle des entités et associations, il génère le MCD Merise, le schéma relationnel (MLD) et le script SQL de création de la base de données. Charger l'exemple.

DBConcept n'implémente qu'une partie des fonctionnalités de Mocodo, mais supporte quant à lui les agrégations ainsi que la rétroconception (pour la version en ligne de commande).

Principe de fonctionnement

  • Chaque ligne constitue la définition d'une boîte (entité ou association).
  • Les boîtes définies sur des lignes consécutives sont tracées sur une même rangée.
  • Un saut de ligne commence une nouvelle rangée.
  • Les boîtes sont alignées verticalement. Une ligne réduite à un deux-points (:) insère une boîte invisible.

Définir une entité

entité: attr1, attr2, attr3, ...
  • Un nom d'entité est séparé de ses attributs par un deux-points.
  • Les attributs sont séparés par des virgules.
  • Le premier attribut est par défaut l'identifiant de l'entité. Pour inclure un autre attribut dans l'identifiant (ou exclure le premier), préfixer le nom de l'attribut par un tiret bas ;
        exemple : _attr
  • Le type de donnée (pour le SGBD) peut être précisé entre crochets après le nom de l'attribut (la valeur par défaut est VARCHAR(50)). Le type COUNTER est un mot clé pour définir un nombre auto-incrémenté ;
        exemple : attr [INT]

Définir une association

assoc, 01 ent1, 1N ent2, ... : attr1, ...
  • Un nom d'association est séparé de sa première patte par une virgule.
  • Les pattes d'une association sont séparées par des virgules.
  • Chaque patte est définie par ses cardinalités (01, 11, 0N, 1N, ou XX pour les masquer) suivies du nom de l'entité (ou association dans le cas d'une agrégation).
  • Les éventuels attributs d'une association sont placés à la fin après un deux-points.
  • Le rôle de la patte peut être indiqué entre crochet, entre les cardinalités et le nom de l'entité ;
        exemple : 11 [role] entité
  • Pour indiquer un lien relatif, préfixer les cardinalités par un tiret bas ;
        exemple _11 entité faible

Définir une sous-classe d'entité

/\ parent - enfant1, enfant2, ...
  • La ligne commence par les caractères / et \ suivis du nom de l'entité parent, d'un tiret (-) puis des noms des entités enfants (sous-classes) séparées par des virgules.
  • Des contraintes d'eXclusion et/ou de Totalité peuvent être placées entre les / et \ ;
        exemple : /XT\ Personne - Eleve, Prof
  • Si les entités enfants partagent l'identifiant du parent, préfixer leur premier attribut par un tiret bas (_).
  • Le séparateur entre parents et enfants permet de spécifier un choix pour la génération du modèle relationnel :
    • - pour générer la relation parent et une relation par enfant ;
    • < [champCodeType] pour supprimer les relations enfants et en faire remonter les attributs vers celle du parent ([champCodeType] est facultatif) ;
    • > pour supprimer (en cas de Totalité) et faire descendre les attributs de la relation parent vers celles des enfants (requiert eXclusion).

MLD


		

SQL


		
Balayer l'écran pour changer de page.