Il y en a d'autres, et notamment
Payant : Win'Design, toad datamodeler, Rational rose...
Gratuit : DBMain, DB Designer...
A confirmer mais DB Designer ne propose pas la modélisation conceptuelle (Entité-relation). Seul le modèle physique est possible ce qui est pour moi un handicap majeur par rapport à des concurrents comme :
- JMERISE
- DB Main
Les raisons sont entre autres les suivantes:
- Le MCD est porteur de la description fonctionnel / métier => permet plus facilement de comprendre le métier et de coller à ses procédures
- Il est plus facile d'identifier les erreurs de conception sur un MCD (cf ci-dessus)
- La génération du MPD n'est qu'une implémentation du MCD (un clic suffit). Bien sûr un dénormalisation du MPD peut se faire pour des raisons d'optimisation mais seul le MCD est garant du modèle.
Salut ,
Je souhaite passer du diagramme MCd au diagramme de Classe pour générer du code java par la suite . Quel logiciel permet de faire ce travail ?
Bonjour,Je pense bien que power amc le fait... en tout cas j'ai l'habitude de faire l'inverse, mais je n'ai jamais essayé de générer un diagramme de classe d'un mcd!ahmed-socios
Bonjour,
À ajouter dans la liste des outils gratuits, celui-ci : looping.
Je n'ai pas encore pris le temps de le tester... Si d'autres souhaitent se lancer...
Rédacteur / Modérateur SGBD et R
Mes tutoriels et la FAQ MySQL
----------------------------------------------------
Pensez aux balises code et au tag![]()
Une réponse vous a plu ? N'hésitez pas à y mettre un![]()
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
Tiens ! Un truc fait par l'Université Toulouse III ; c'est chez moi ça !
Arf ! Un machin qui ne tourne que sous Windows ; ce n'est pas pour moi ; je passe !![]()
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Bonjour,
Peut être arriverais-je trop tard ? Il semble à ce jour que DB-MAIN n'est gratuit que 30 jours en période d'essai (puis 72 euro), et que JMERISE complet ne soit disponible qu'en abonnement payant (+/- 1 euro par mois). Que reste t-il de gratuit et performant du MCD au MLD (voire MPD) ?
Merci d'avance
Regardez du côté de Open Modelsphere. Ça fait longtemps que je l'ai utilisé mais à l'époque il était gratuit.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Je n'utilise plus OMS depuis quelques années, car il m'avait profondément énervé à l'occasion de la génération du MLD : en fait, un beau jour, plus moyen de générer pour des raisons connues d'OMS seul. Cela dit, vu la situation avec DB-MAIN, j'essaierai de m'y remettre (mais je ne promets rien...)
Regarder Looping, mais qui ne fournit apparemment pas d’aide (ce qui pour un merisien confirmé n’est pas du tout un problème, disons que l’ouvrage Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001) de D. Nanci (RIP) et B. Espinasse permet de pallier) ; L’ouvrage est téléchargeable, merci à eux.
Looping fournit un MLD purement textuel (style années quatre-vingts, mais valide, contrairement à JMerise qui en l’occurrence est à la ramasse), c’est-à-dire sans diagramme avec des carrés, des flèches et tout ça. Pour les fondus de diagrammes, prendre le code SQL (les Create Table) produit par Looping et en faire un reverse avec MySQL Workbench. Looping dit qu’il est exploitable sous Linux, je cite (voir l’onglet « Installation ») : « Fonctionne également avec Wine sous macOS et Linux ».
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Wine est un acronyme récursif signifiant Wine Is Not an Emulator.Envoyé par fsmrel
En fait, c'est une sorte d'implémentation du coeur de Windows à l'intérieur de Linux pour faire tourner des programmes Windows sur une machine Linux.
Ça alourdit le machin et je n'ai jamais vraiment réussi à y faire tourner quoi que ce soit. Et comme j'ai abandonné Windows depuis 10 ans professionnellement et déjà avant personnellement... Pas envie d'essayer Loopin sous Wine.
Je vais moi aussi ré-essayer ModelSphere dans quelques temps.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Bonjour,
Juste une précision concernant le fonctionnement de Looping avec Wine.
Il est vrai que Wine a bien du mal à faire fonctionner certaines applications, surtout quand elles comportent de multiples libraires situées un peu partout sur le système.
Une des particularités de Looping est d'être "monobloc" : un seul .exe totalement autonome qu'il suffit de lancer de n'importe où.
J'ai pas mal de collègues à l'Université qui travaille sous Linux ou Mac : ils utilisent Looping avec Wine depuis pas mal de temps et n'ont jamais rencontré de problème.
Je sais que cela ne suffira pas pour convaincre les anti-Windows, mais il faut reconnaître que Wine et Looping font bon ménage !![]()
Le lien donné plus haut vers Looping ne répond pas.![]()
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
A priori, ça re-fonctionne : il y a eu dû y avoir un petit souci chez Online.net, mais cela semble réglé.
C'est pas encore ça !
500 Internal Server Error
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Je suis sur le site : pour moi, ça fonctionne, mais je pense qu'il doivent être en train de "bricoler" le serveur !![]()
Valide ? Faut voir ! On trouve ce mode textuel de représentation dans la grande majorité des ouvrages sur Merise, mais je ne m’en suis jamais servi car j’ai toujours utilisé une représentation graphique. En fait Je retire ce que j’ai dit.
Exemple :
MCD (Looping)
![]()
MLD (PowerAMC)
![]()
MLD (Looping)
E1 = (E1Id INT, E1A2 INT);
E11 = (#E1Id, E11A1 INT);
E12 = (#E1Id, E12A1 INT);
T1 = (T1Id INT, T1A2 INT);
A1 = (#(#E1Id), #T1Id);
Sur la base de ce seul schéma, il est manifestement impossible de savoir si A1 fait référence à E11 ou à E12, donc du fait de cette ambiguïté ce schéma est inexploitable, invalide, et contrairement à l’autre MLD, on ne peut pas s’en servir pour générer le code SQL des tables.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Bonjour,
Effectivement, j'ai constaté cette imprécision cet été, et je suis en train d'y remédier.
D'une part, la version 2.4 (disponible dans quelques mois) intègrera un MLD graphique, tout en maintenant le MLD textuel.
D'autre part, au niveau de la traduction des spécialisations dans le MLD textuel, les indications inscrites sur les pattes de la spécialisation seront reprises en suffixe de la clé, dans le même esprit que les rôles dans les associations, ce qui sera également intéressant pour la clarté du schéma relationnel correspondant.
Je précise cependant que le script SQL proposé par Looping est correct, même s'il ne peut pas se déduite du seul MLD textuel.
Par ailleurs, je tiens à m'inscrire en faux sur le "procès" fait aux MLD textuels : ce n'est pas parce qu'ils ont été imaginés dans les années 80 qu'ils sont mauvais !
En effet, il ont le mérite de se focaliser sur le seul lien physique entre les tables, à savoir le lien "clé primaire - clé étrangère" qui doit pouvoir être exprimé sans des flèches qui sont des artifices graphiques totalement absents du futur schéma relationnel de la base.
Donc, je trouve des vertus aux 2 représentations, et c'est la raison pour laquelle Looping 2.4 proposera les 2... très prochainement !![]()
Bonsoir,
Good news!
D’accord. On aura donc tout intérêt à fournir ces indications.
Bien entendu.
Je ne remets pas en cause le fait que les MLD textuels ont été conçus dans les années quatre-vingts, Je constate seulement une faiblesse. Le temps ne fait rien à l’affaire, ainsi, bien que cinquantenaire en 2020, l’article fondateur de Codd A Relational Model of Data for Large Shared Data Banks reste magnifique, et quand je le relis, je suis toujours aussi impressionné. Certes, on peut le critiquer dans la mesure où la définition donnée par Codd du modèle relationnel de données (c’est-à-dire de la théorie relationnelle) est incomplète : je vous renvoie à la critique approfondie faite à ce sujet par son fidèle compagnon d’armes, C. J. Date dans E. F. Codd and Relational Theory: A Detailed Review and Analysis of Codd’s Major Database Writings.
Sinon, pour en revenir à Looping, je lui soumets le MCD suivant :
![]()
Un client passe commande. Une commande se décline en lignes de commande. Pour chaque ligne de commande, on s'engage en fonction des disponibilités des produits en stock, en cours de fabrication, des approvisionnements en cours, etc. ; un engagement est composé à son tour de parties livrables en fonction du nombre de camions nécessaires pour l'acheminement, etc.
le résultat est le suivant :
Le code SQL est bien entendu non généré.CAMION = (camid INT, camnom VARCHAR(12)); CLIENT = (cliId INT, cliNom VARCHAR(48), cliSiret CHAR(14)); ARTICLE = (artId INT, artNom VARCHAR(48), artRef CHAR(16), PrixHt DECIMAL(8,2)); COMMANDE = (cdeid INT, cdeNo CHAR(16), cdedate DATE, cdeStatut VARCHAR(4), #cliId); LIGNE_CDE = (#cdeid, ligneCdeId INT, quantite INT, #artId); ENGAGEMENT = (#(#cdeid, ligneCdeId), engid INT, engDate DATE, quantite INT); LIVRAISON = (#(#(#cdeid, ligneCdeId), engid), #(#(#(#cdeid_1, ligneCdeId_1), engid_1), livraisonid_1), livraisonid INT, bordereauNo CHAR(16), livrDate DATE, livrStatut VARCHAR(4), quantite INT, #camid); Attention ! Références circulaires
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Partager