SQL Designer

Site officiel
Bookmark and Share

Voici un outil original et ergonomique pour la conception de base de données mySQL. A priori il s’adresse à ceux qui maîtrisent déjà les bases de données relationnelles dont MySQL est la plus utilisée sur internet. Mais il pourra également convenir aux débutants qui souhaitent s’y mettre, la lecture d’un tutoriel sur la conception de bases de données relationnelle sera alors conseillée pour utiliser SQL Designer (voir liens plus bas).

Tout se fait à partir de votre navigateur grâce à la technologie branchée du moment, j’ai nommé Ajax. Vous vous retrouvez sur une unique page qui sera votre espace de travail (et le plus simple est de filer voir la démo pour vous en faire de suite une idée). En cliquant sur le bouton « Charger / Sauver », vous trouverez quelques tables exemples qui vous permettent d’appréhender les possibilités de l’outil : exemple de base . Vous pouvez alors créer des tables, les effacer, ajouter des champs, lier les tables, etc. Vous pourrez exporter votre travail sous la forme d’un script SQL que vous importerez dans PHPMyAdmin ou inclurez à votre code. Il est possible, à condition d’avoir renseigné le fichier index.php situé dans le sous-répertoire de backend adapté à la configuration de la machine, d’importer une base de données existante et d’en visualiser l’organisation.

Ce logiciel est donc complètement multi plate-formes puisqu’il suffit de posséder un navigateur internet pour pouvoir l’utiliser. SQL Designer est également multilingue (français, anglais, allemand, tchèque (ne pas oublier de recharger la page du navigateur pour que le changement de langue prenne effet), très léger et vraiment rapide, très peu gourmand en ressources. L’auteur améliore régulièrement ce logiciel tout en le gardant extrêmement simple d’utilisation.

SQL Designer rentre dans le cercle très étroit des logiciels libres de conception de base de données. Il existe également :

  • AnalyseSI écrit en Java et qui joue très bien son rôle d’outil de conception de BDDR (le développement de ce logiciel semble arrêté, mais cela n’empêche pas l’outil d’être pleinement utilisable). AnalyseSI est basé sur la méthode MERISE de conception de bases de données relationnelles ;
  • MySQL Workbench (licence GPL pour la version limitée, la version complète ou Standard Edition est sous une autre licence payante) c’est la reprise par SUN du développement du défunt DBDesigner. MySQL Workbench existe déjà sous windows, devrait sortir pour Linux en 2008 et sera certainement un bon outil de développement de bases de données. Il reste cependant nettement plus difficile à appréhender que SQL Designer car beaucoup plus complet et en anglais ;
  • On peut également concevoir son schéma relationnel de base de données sous OpenOffice.org Base.

SQLDesigner ne gère pas la correction des erreurs de conception mais un simple import du code SQL produit dans PHPMyAdmin vous permettra de relever rapidement les incohérences et les corriger. Il s’agit d’un logiciel vraiment performant qui permet de concevoir une base de données relationnelle en MySQL en quelques clics.

La documentation est en anglais mais le logiciel est d’une utilisation tellement simple qu’elle s’avère presque inutile. Voici tout de même la traduction de la seule partie qui pourrait poser problème à l’utilisation de SQL Designer : Pour dessiner un connecteur (relation, lien entre tables), premièrement sélectionner le champ en clé primaire de la première table. Ensuite cliquer sur « Nouvelle clé étrangère » et cliquer sur l’entête de la seconde table (la table « cible »). La relation entre les 2 tables est alors créée.

Testé sous Firefox 3.0, 1.x et IE7, IE6

Merci à Bionet pour la mise à jour de la notice sur le wiki de Framasoft !

Ce lien peut se révéler utile pour exploiter au mieux ce logiciel : Cours sur la conception d’une base de données (par Cyril GRUAU)
Tags: fff
Ajouter des tags (séparés par des virgules ou des espaces) :
 
Attention: tous les caractères spéciaux sont interdits (sauf le .). Les tags n'apparaîtront qu'au prochain rafraichissement du cache (dans plusieurs heures).

<< Mettre à jour >>
:: lien mort :: orthographe :: nouveauté :: mise à jour ::

Vous souhaitez mettre à jour la notice ? La première chose à faire est de déterminer s'il s'agit d'une mise à jour mineure ou d'une mise à jour majeure Icone d'aide.

  • Mineure : un lien mort, des fautes d'orthographe, un lien à ajouter ou encore une petite précision.

    Veuillez renseigner les champs ci dessous :

  • Majeure : une nouvelle version avec des nouveautés, des changements majeurs.

    En cochant cette case, vous allez créer une page sur le wiki afin de mettre à jour la notice.

Commentaires

<< Poster un message >>
:: question :: précision :: avis :: commentaire :: bug ::

SQL Designer , le 10 juillet 2008 (0 rép.)

Bonjour,

c’est une véritable merveille cette application. Il m’a fallu lire le début de la doc pour comprendre comment lier les tables (car ce n’est pas un simple "glisser-déplacer" comme on peut le lire dans diverses présentations de SQL Designer).

N’y connaissant rien aux bases de données, j’avais commencé un tutoriel utilisant AnalyseSI (en java) mais cela donnait des résultats plus que criticables et pas directement utilisables en production).

J’ai donc repris toute ma conception de ma base de données sous SQL Designer et... merveille des merveilles : c’est super efficace, c’est beau et très pratique (il suffit d’envoyer le script généré par mail à un pote pour qu’il puisse visualiser et modifier le modèle directement sur la démo du site de SQL Designer (ou chez lui si il l’a installé sur son serveur local).

Et pour couronner le tout SQL Designer est en français (mais pas sa doc pour l’instant, mais comme il est très simple d’utilisation, la documentation est quasi inutile).

Merci au développeur (j’espère qu’il lira ces lignes :o)

Répondre à ce message

SQL Designer , le 30 octobre 2007 par sidarus (1 rép.)

Bonjours FS

Je l’ai installé en local mais je ne parvient pas à le faire marcher correctement. Dans import/export, la fonction "Charger depuis SGBD" et "Sauver vers SGBD" ne fontionnent pas chez moi.

Est-ce quelqu’un à réussi ?

Merci d’avance

SQL Designer , le 10 juillet 2008 par eriquesse

Bonjour,

C’est un peu tard pour répondre ... mais voici la solution : Aller dans "backend/php-mysql/index.php" et modifier les données du serveur/user/password dans la function setup_import pour pouvoir importer depuis son serveur.

Je n’ai pas encore tout vu ... mais cela parait encourageant

Répondre à ce message

SQL Designer ; mod SQLite , le 20 octobre 2007 par yannick lemut (0 rép.)

remplace io.php par ceci et la sauvegarde de fera sur un fichier ; marche donc sans mysql mais il faut avoir acces à SQLite !

script posté aujourd’huis à Ondra Zara. si ca peut aider...

<?php
/*    WWW SQL Designer, (C) 2005 Ondra Zara, o.z.fw@seznam.cz
    This file is part of WWW SQL Designer.
    WWW SQL Designer is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
    WWW SQL Designer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    You should have received a copy of the GNU General Public License along with WWW SQL Designer; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

/* adapted to SQLite by Yannick Lemut (France) */

    
define('DB','sqlitedb');
    
define('TABLE','wwwsqldesigner');    
    
/*yl: load SQLite extention if not allredy done*/    
    
if (!extension_loaded('sqlite')) {
         
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' '';
         
dl($prefix 'sqlite.' PHP_SHLIB_SUFFIX);
    }

/*yl: open SQLite database: */
if ( $db sqlite_openDB0666$sqliteerror)){
    
//if table do not existe; create it (CREATE TABLE IF NOT EXISTS work only in v3)
    
echo "openned";
    
$r sqlite_query($db,"SELECT name FROM sqlite_master WHERE type='table' AND name='".TABLE."'");
    if (! 
sqlite_num_rows($r) > 0){
        
$r sqlite_query($db,"CREATE TABLE ".TABLE." ( keyword VARCHAR(20) NOT NULL PRIMARY KEY, data MEDIUMTEXT NOT NULL, dt DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' );");
    }

else { die (
$sqliteerror);}

    
$action 0/*yl: default action: "save as"*/
    
if (isset($_GET['import'])) {$action 1/*yl: action load*/}
    if (isset(
$_GET['show'])) {$action 2/*yl: action show liste*/}
    switch (
$action) {
        case 
0:  /*yl: action: "save as"*/

            
$key = (isset($_POST['key']) ? $_POST['key'] : '');
            
$data = (isset($_POST['data']) ? $_POST['data'] : '');
            if (!
$key) {die();}
            else {
                
$key sqlite_escape_string($key);
                
/*yl: not so sure about this next line ????? dont know the magic stuff*/
                
if (get_magic_quotes_gpc() || get_magic_quotes_runtime()) {$data stripslashes($data);}
                
$data sqlite_escape_string($data);
                
$r sqlite_query($db,"SELECT id FROM ".TABLE." WHERE keyword = '".$key."'");
                if (
sqlite_num_rows($r) > 0) {                    sqlite_query($db,"UPDATE ".TABLE." SET data = '".$data."', dt=datetime('now') WHERE keyword = '".$key."'");
                } else {                    
sqlite_query($db,"INSERT INTO ".TABLE." (keyword, data, dt) VALUES ('".$key."', '".$data."', datetime('now'))");
                }
            }
        break;

        case 
1/*yl: action load*/
            
$key = (isset($_GET['key']) ? $_GET['key'] : '');
            
$key sqlite_escape_string($key);
             
$r sqlite_query($db,"SELECT data FROM ".TABLE." WHERE keyword = '".$key."'");
            if (
sqlite_num_rows($r) > 0) {echo sqlite_fetch_single($r);}
        break;

        case 
2/*yl: action show liste*/
             
$r sqlite_query($db,"SELECT keyword, dt FROM ".TABLE." ORDER BY dt DESC");
            while (
$row sqlite_fetch_array($rSQLITE_BOTH)) {
                  
printf ("%s:  %s\n"$row["dt"], $row["keyword"]);
            }
        break;
    }
sqlite_close($db);
?>

Répondre à ce message

>>> Test de SQL Designer , le 1er décembre 2006 par JcDUSS (0 rép.)

Encore un hit !!! félicitations aux oufs qui ont du bien galérer pour réaliser une interface ULTRA simple et ULTRA efficace...

Rien a redire !!! un must pour les personnes qui aiment manipuler les BDD...

Un grand merci aux réalisateurs...

Répondre à ce message

Description ambigue , le 4 juin 2006 par lo72 (0 rép.)

La description de sqldesigner est ambigue :

"... [sqldesigner permet ] également de charger vos bases existantes pour les travailler dans l’interface."

Plus exactement : SQLD permet de sauvegarder dans sa database (à configurer préalablement) les shémas graphiques que l’on crée. Il permet également de recharger ces sauvegardes pour les visualiser / modifier.

En revanche il ne permet pas de créer le "dessin" pour des bases de données dont on a pas créé le "dessin" nous même.

Pas de miracle donc, il faudra toujours le faire manuellement au moins une fois :o)


Petit guide pour l’installation

- Dezipper l’archive de sqldesigner dans le document root du serveur web.
- Il suffit ensuite de faire pointer le navigateur dessus (typiquement : http://localhost/votre_chemin_vers_sqldesigner )

Ensuite on peut paramétrer la sauvegarde en database si on souhaite sauvegarder ses réalisations :
- ouvrir le fichier io.php et modifier les constantes définies par des "define" de façon à avoir les bons parametres (nom du serveur, nom d’utilisateur mot de passe, nom de la base, nom de la table) quelque chose comme :

define(’SERVER’,’localhost’) ; define(’USER’,’root’) ; define(’PASSWORD’,’toto’) ; define(’DB’,’wwwsqldesigner’) ; define(’TABLE’,’wwwsqldesigner’) ;

- Ensuite on va dans phpmyadmin (ou tout autre interface mysql du meme genre, pour peu qu’elle soit installée :o))
- on crée une nouvelle base "wwwsqldesigner"
- et on colle dedans le contenu du fichier mysql.sql qui est livré avec sqldesigner. Pour la version 1.1.5 son contenu est :

DROP TABLE IF EXISTS `wwwsqldesigner` ; CREATE TABLE `wwwsqldesigner` ( `keyword` varchar(20) NOT NULL default ’’, `data` text NOT NULL, `dt` datetime NOT NULL default ’0000-00-00 00:00:00’, PRIMARY KEY (`keyword`) ) ;

Enjoy yourself !

Répondre à ce message

SQL Designer , le 12 avril 2006 (0 rép.)

Bonjour,

je suis grand débutant en la matiere, et je souhaite créer une base de données sur le web. Je voulais importer le début de ma base dans SQL DESIGNER pour mieux travailler mais je n’arrive pas à l’importer (il me donne comme erreur : "no data").

Merci de m’éclairer sur ce point.

Répondre à ce message

SQL Designer , le 4 avril 2006 par Jean Dorléans (0 rép.)

Produit intéressant.

Besoin d’un user guide pour les fonctions évoluées : mise à jour d’une base existante, création d’une nouvelle base, etc. ...

-----> SQL designer

Répondre à ce message

> SQL Designer , le 6 octobre 2005 par AciD (0 rép.)

fonctionne aussi très bien sous Opera 8.5 pour Linux

Répondre à ce message

> SQL Designer - download ? , le 5 octobre 2005 par gokudo (5 rép.)

la version online est intéressante, mais quand on download, comment lance-t’on la chose ? J’ai l’impression que la version downloadable est incomplète ou corrompue.

> SQL Designer - download ? , le 5 octobre 2005 par popi

Incomplète de ce que j’ai constaté ;-)

Il faut enregistrer la page de demo http://ondras.praha12.net/sql/demo/ dans le même répertoire,

créer la table à l’aide du fichier mysql.sql,

modifier dans io.php les paramètres d’accès (ici pour EasyPHP) define(’SERVER’,’localhost’) ; define(’USER’,’root’) ; define(’PASSWORD’,’’) ; define(’DB’,’mysql’) ; define(’TABLE’,’wwwsqldesigner’) ;

et puis çà devrait le faire ;-)

> SQL Designer - download ? pas suffisant , le 5 octobre 2005 par Johann

Popi a raison mais il faut encore rajouter le fichier io.php correctement modifié dans le répertoire demo. Il faut aussi recopier le répertoire que l’appli crée :

SQL Designer_fichiers/ dans lequel on y trouve
 rw-r----- 1 root root 2475 oct 5 11:55 animator.js
 rw-r----- 1 root root 3728 oct 5 13:08 bar.css
 rw-r----- 1 root root 1937 oct 5 11:55 generic.js
 rw-r----- 1 root root 6535 oct 5 11:55 io.js
 rw-r----- 1 root root 17668 oct 5 11:55 main.js
 rw-r----- 1 root root 33618 oct 5 11:55 objects.js
 rw-r----- 1 root root 1361 oct 5 11:55 settings.js
 rw-r----- 1 root root 3601 oct 5 11:55 sql_types.js
 rw-r----- 1 root root 3187 oct 5 13:08 style.css

Vous remarquerez que j’ai recopié les deux fichiers css (bar et style) à ce niveau. A l’utilisation, c’est OK. Il crée des entrées dans la base wwwsqldesigner dont le champ data contient du code xml !

Je pense que c’est là qu’intervient "xml2mysql.xsl" du répertoire racine. Mais j’avoue mon incompétence pour savoir comment l’utiliser pour générer du code SQL....

Si une bonne âme ... :-)

> SQL Designer - download ? , le 5 octobre 2005 par Johann

ERRATUM : Sinon cela ne marche pas (plus)

Les droits des fichiers du répertoire SQL Designer_fichiers doivent etre en "read" partout soit :

 rw-r—r-- 1 root root 2475 oct 5 11:55 animator.js
 rw-r—r-- 1 root root 3728 oct 5 13:47 bar.css
 rw-r—r-- 1 root root 1937 oct 5 11:55 generic.js
 rw-r—r-- 1 root root 6535 oct 5 11:55 io.js
 rw-r—r-- 1 root root 17668 oct 5 11:55 main.js
 rw-r—r-- 1 root root 33618 oct 5 11:55 objects.js
 rw-r—r-- 1 root root 1361 oct 5 11:55 settings.js
 rw-r—r-- 1 root root 3601 oct 5 11:55 sql_types.js
 rw-r—r-- 1 root root 3187 oct 5 13:47 style.css

> SQL Designer - XML to SQL : OK , le 5 octobre 2005 par Johann

J’aurai du lire la doc :-)

Copier le XML produit dans un fichier sauvegardé en ".xml" et l’ouvrir sous IE. Magie ! le code SQL est là.

> SQL Designer - download ? , le 7 octobre 2005

Je suis arrivé à reproduire l’exemple donné sur le site. J’ai fait un zip de tout ca dispo ici en attendant mieux : http://g.tour.free.fr//fichier/sqlview.zip Voila

Répondre à ce message

Informations complémentaires

Faire un don ? (défiscalisé)

Aidez-nous à atteindre notre objectif de 1080 donateurs récurrents pour assurer notre pérennité et notre développement !

Je soutiens Framasoft
pour 10€/mois

Dégooglisons Internet, l’an 2

Les services en ligne de géants tentaculaires comme Google, Apple, Facebook, Amazon ou Microsoft (GAFAM) mettent en danger nos vies numériques.

Pour cette 2e année, nous continuons le défi de vous proposer une alternative Libre, Éthique, Décentralisée et Solidaire à chacun de ces services.

Découvrez notre campagne
« Dégooglisons Internet »

Informations générales

Juste une image

Beethoven's Sixth Beethoven’s Sixth
Creative Commons BY