Outils pour utilisateurs

Outils du site


linux:dia2sql
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


linux:dia2sql [06/04/2012 19:54] (Version actuelle) – créée daniel
Ligne 1: Ligne 1:
 +====== dia2sql ======
 +La doc sur l'utilisation de dia pour générer du sql est rare...
  
 +[[http://tedia2sql.tigris.org/usingtedia2sql.html|doc officielle de tedia2sql]] (en), mais tedia2sql ne sait plus faire d'export sql depuis dia 0.97 (qui est la version de squeeze). Il faut utiliser [[http://search.cpan.org/dist/Parse-Dia-SQL/bin/parsediasql|parsediasql]] (aka Parse::Dia::SQL), dispo en v 0.16 dans squeeze (paquet libparse-dia-sql-perl).
 +
 +http://left.subtree.org/2007/12/05/database-design-with-dia/ est un petit tutoriel pour débuter.
 +
 +===== Résumé =====
 +
 +Un truc qui peut être énervant, pas moyen de modifier une "boite"... il faut choisir l'outil "curseur" (qui revient ensuite à "flèche de sélection", qui permet d'afficher les propriétés au double clic mais pas d'éditer le contenu).
 +
 +Choisir tedia2sql dans le menu déroulant de la palette d'outils de dia restreint aux boutons qui vont bien, mais UML marche aussi.
 +  * primary key : mettre l'attribut en "protected"
 +  * index : onglet opérations, type : "index" ou "unique index", ajouter en paramètres les champs concernés
 +  * auto_increment : c'est spécifique à mysql, il faut utiliser l'outil "Small Package" de "UML" (il s'appelle "Séquences" dans "tedia2sql"), et mettre "mysql: typemap" en Stereotype, avec comme valeur par ex "id_auto : int unsigned auto_increment;", qui va crée le type de colonne interne à dia "id_auto".
 +  * foreign key : faut utiliser les relations, pas bien clair...
 +  * jeu de données : c'est l'outil composant, mettre dans propriétés/stéréotype "ma_table(champs1, champs2)" et dans la boite les valeurs, une par ligne (comme elles seront écrites dans les parenthèses de VALUES() de la requête)
 +  * vues : il faut cocher "abstraite" pour la classe, préciser la table concernée en opération de type "from" (et la notation table.champ s'il y a plusieurs tables), et mettre les where en opération (de type "where", idem pour order, avec des parenthèse autour de la condition => name : "(champ1 > 1)"; type : "where")
linux/dia2sql.txt · Dernière modification : 06/04/2012 19:54 de daniel