Présentation succinte
Le logiciel de conception de (schéma de) base de données relationnelles DBDesigner permet de concevoir des bases de données MySQL. Il n'est malheureusement plus maintenu.
Racheté par MySQL (cf. un fil de discussion sur les forums linuxfr), il évolue donc plus ou moins (selon ce même fil de discussion, il était complètement bogué il y a un an), sous le nom mysql-workbench.
mysql-workbench existe en version GPL et propriétaire (disponible pour 99$ US). La version courante est la 5.1-alpha. Cette version est largement utilisable, bien que des fonctions de base telles que copier/coller nécessite l'utilisation de la souris. L'ergonomie reste à améliorer, mais je n'ai pas rencontré de plantage durant une semaine d'utilisation intensive.
Je n'ai pas trouvé d'outil libre plus performant. Il permet notamment :
- de concevoir via des diagrammes sa base de données,
- d'exporter dans différents formats (svg, png, pdf),
- de générer du SQL,
- de se connecter directement à une base MySQL (non testé),
- de travailler sur différents systèmes d'exploitation : MacOS, Windows, Linux.
Un comparatif des fonctionnalités entre la version GPL et la version commerciale est également disponible sur le site de MySQL.
L'interface est en GTK, donc il s'intègre parfaitement dans Gnome.
L'obtenir et l'installer
mysql-workbench est disponible au téléchargement sur le site web de MySQL. Il est disponible en format binaire et sources ; des paquets pour MacOS 10.5, Fedora Core 9 et Ubuntu 8.04 sont proposés.
Autres distributions :
- Debian : le .deb Ubuntu ne s'installe pas sur une Lenny, mais la compilation à partir des sources se déroule bien, moyennant l'installation de nombreux paquets de développement.
- Fedora Core 10 : le paquet Fedora Core 9 est directement utilisable.
- Autres distributions : je n'ai pas essayé.
Note : il est nécessaire de s'identifier sur le site de MySQL pour accéder à la page de téléchargement ; la création d'un profil est bien entendu gratuite.
Utiliser mysql-workbench avec un autre SGBDR
C'est super me direz-vous, mais si je n'utilise pas MySQL ? Eh bien, c'est mon cas : je travaille avec PostgreSQL. La bonne nouvelle, c'est que les fichiers générés sont des archives (zip ? tar.gz ? je ne sais pas, mais ça s'ouvre avec file-roller). Et l'archive contient un fichier XML très verbeux, sans DTD mais compréhensible. A partir de là, une transformation
XSLT permettra facilement de générer du SQL compatible PostgreSQL. J'en suis encore à la phase de conception, je n'ai donc pas encore de feuille de style XSL à proposer.
Par ailleurs, il existe des outils de conversion tels que SQLFairy permettant de passer d'un SGBDR à un autre.
L'intérêt de l'outil graphique
Il est manifestement plus rapide, quand on connait le langage SQL, d'écrire le schéma manuellement. Néanmoins, travailler en équipe nécessite de pouvoir communiquer avec des gens qui ne maîtrisent pas nécessairement le langage, dans ces conditions un diagramme est plus rapide à appréhender que du texte.
Ressources
liées à mysql-workbench :
- Présentation du produit : http://www.mysql.com/products/workbench/
-
Comparatif des fonctionnalités GPL / version commerciale : http://www.mysql.com/products/workbench/features.html
-
Téléchargement : http://dev.mysql.com/downloads/workbench/5.1.html
- Le logiciel DBDesigner : http://www.fabforce.net/dbdesigner4/
liées à la conception et la modélisation de bases de données relationnelles :
- Une liste d'outils de modélisation : http://wiki.eagle-usb.org/wakka.php?wiki=ModelizationTools
- SQLFairy - convertir du SQL d'un SGBDR à un autre :
http://sqlfairy.sourceforge.net/
-
Glom - un outil de conception SQL mais sans possibilité de voir un diagramme du schéma de la base de données : http://www.glom.org
# cool
Posté par BAud (site web personnel) . Évalué à 4.
mysql-workbench avait aussi ses petits soucis de jeunesse lorsque j'avais essayé (il y a plus d'un an, ça segfaultait limite au démarrage).
ton idée que ce soit aussi utilisable pour PostgreSQL est importante aussi (ce serait bien que ça puisse être pris en compte upstream, mais bon :D).
En tout cas, heureux que ma page de liste d'outils de modélisation puisse servir ;-) (j'allais la reproposer quand j'ai vu que tu l'avais déjà citée :p).
[^] # MeriseAcide
Posté par psychoslave__ (site web personnel) . Évalué à 6.
MeriseAcide adopte une approche KISS de la conception de base de données. Dans un fichier de texte plat (un .ma si vous voulez suivre la convention), vous saisissez vos tables et leurs champs, puis les relations (pour la syntaxe voir l'exemple ci-dessous). MeriseAcide va générer le MCD et le MPD pour vous, de même que les fichiers sql pour créer la base avec (mysql|postgresql|sqlite).
Exemple :
# Vous pouvez commenter votre fichier
# Les commentaires c'est le bien(tm), mettez en
# Une table
[trolls]
# le "+" est pour signaler la clef, MA complète le "_"
# avec le nom de la table
+id_
# vous pouvez préciser le type de la valeur et autre
# joyeusetés sqliennes
velu boolean
nom varchar(42) UNIQUE
histoire text
# ou pas et juste lister les champs
vendredi
godwin
[géniteurs]
+id_
nom
aime_sa_boulangère boolean
# Puis les relations
géniteurs 0,n engendre 0,n trolls
Personnellement je ne me reverrais pas passer à une interface click-click pour faire des shémas de base de données. En plus d'être on ne peux plus portable (fichier texte plat, vous pouvez bosser dessus n'importe où) les graphiques, et notamment les liaisons, se font automatiquement, là où vous perdez un temps fou à les placer de manière lisible avec d'autres outils graphiques.
MeriseAcide est libre (GPLv3) vous le trouverais par là http://bombela-dev.is-a-geek.org/MeriseAcide
[^] # Re: MeriseAcide
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 2.
Pour travailler en équipe, je trouve que l'aspect graphique du schéma de la base (pas de l'interface utilisateur) est fondamental.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: MeriseAcide
Posté par BAud (site web personnel) . Évalué à 4.
http://www.metal3d.org/index.php/blog/ticket/2008/08/12/Meri(...)
(il faudrait trouver un exemple "taille réelle" pour se faire une idée)
[^] # Re: MeriseAcide
Posté par psychoslave__ (site web personnel) . Évalué à 3.
[^] # Re: MeriseAcide - limitations
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 2.
- les clés étrangères ne sont pas nommées nommées identiquement ie (une clé étrangère matable.monchamp est appelée fkmonchamp et nom pas monchamp, ce qui est moins intuitif)
- le SQL généré inclus un "ON DELETE CASCADE" systématiquement, ce qui n'est pas forcément ce que l'on recherche (s'il faut retoucher le SQL au niveau "modèle", l'outil perd pas mal de son intérêt)
- L'outil ne propose pas de créer des indexes (on peut le faire en ajoutant le code nécessaire)
Ces problèmes peuvent être contourné en "codant" directement ce qui est nécessaire, néanmoins du coup les diagrammes générés ne sont pas corrects.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: MeriseAcide - limitations
Posté par psychoslave__ (site web personnel) . Évalué à 3.
[^] # Re: MeriseAcide - limitations
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 1.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# Mysql-workbench et DB designer
Posté par xavier dumont . Évalué à 4.
D'abord parce qu'il n'est pas stable (chez moi ça plante dès que je veux renommer une table) et puis parce que ça n'est pas la continuation de DBDesigner.
Sun a racheté ce logiciel qui avait ses mérites et l'a enterré, reprenant l'aspect extérieur mais pas vraiment le fonctionnement.
L'intérêt de DBDesigner était de permettre la modélisation Merise comme AMC designer sous linux.
Maintenant, mysql workbench ne peut que s'améliorer c'est évident et quand il sera fonctionnel je le réessayerai.
[^] # Re: Mysql-workbench et DB designer
Posté par Gniarf . Évalué à 2.
faudra vous habituer, c'est une constante chez Sun.
# Erreur lors de la création du package Debian
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 4.
dpkg-deb : construction du paquet « mysql-workbench-oss » dans « ../mysql-workbench-oss_5.1.7-1_i386.deb ».
signfile mysql-workbench_5.1.7-1.dsc
gpg: « Alfredo Kojima <kojima@sun.com> » a été ignoré: la clé secrète n'est pas disponible
gpg: [stdin]: clearsign failed: la clé secrète n'est pas disponible
Je ne connais pas le fonctionnement de la signature de paquets (donc je ne peux pas investiguer) ; néanmoins le binaire est bien généré et fonctionnel. On le trouvera dans le dossier :
<repertoire_de_travail>debian/mysql-workbench/usr/bin
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: Erreur lors de la création du package Debian
Posté par Victor . Évalué à 6.
Normal, le paquet est censé être généré (ça doit être spécifié quelque part dans le répertoire "debian/" des sources) par « Alfredo Kojima <kojima@sun.com> » qui n'est pas toi, donc j'imagine que tu n'as pas sa clé secrète :)
# Version mandriva a venir
Posté par Raphaël G. (site web personnel) . Évalué à 4.
Avant ça plantais lamentablement au lancement après des magouilles pour le compiler...
Ça semble un très bon outil, si la distinction version oss <-> commerciale n'est pas faite sous linux ça sera utilisable
Sinon il risque d'y avoir un fork si on ne peux même pas se faire les plugins complémentaire à l'outil pour palier les plugin castrés de la version libre...
C'est vraiment typique d'une réflexion de commercial windows quand même, limiter les possibilités d'un logiciel et faire payer pour avoir des fonctionnalités en plus...
Plutôt que de vendre juste le support + plugins supplémentaires spécifiques à la demande.
Paquet a venir dans la cooker bientôt ;)
[^] # Re: Version mandriva a venir
Posté par BAud (site web personnel) . Évalué à 2.
ah, j'avais attribué cela au x86_64...
pour le voir arriver, reste donc à surveiller :
http://sophie.zarb.org/rpm/cooker,/mysql-workbench
[^] # Re: Version mandriva a venir
Posté par Raphaël G. (site web personnel) . Évalué à 3.
Il devrait arriver sur les miroirs d'ici peu.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.