Les nuances de UPSERT

6 novembre 2017

Pour une explication détaillée des variations dans le comportement des UPSERT dans MySQL, PostgreSQL, SQL Server et Oracle, il y a cet excellent article!

Publicités

Ressources MySQL gratuites

19 avril 2014

Quelques ressources gratuites vous permettant d’expérimenter avec MySQL.

db4free.net : un service vous offrant 1 base de données (MySQL 5.6) limitée à 100Mb de données.

SQL Fiddle : un outil vous permettant de tester vos requêtes SQL et vos définitions de schéma sur différents SGBD (Oracle, PostgreSQL, SQLite, MS Server, MySQL) incluant quelques versions de MySQL (5.1, 5.5, 5.6)

FreeMySQL.org : si l’on se fie au numéro de téléphone publié dans la section « Contact Us« , il s’agit d’une entreprise montréalaise!  Aucune limite quant à la taille de la base de donnée (en autant que vous ne monopolisez pas le CPU et l’espace disque du serveur…  Soyez donc raisonnables!).


VisualWorks 7.9.1

10 avril 2013

J’ai finalement pris le temps de télécharger VisualWorks 7.9.1 et de l’installer…  Mes premières impressions ?  Rien de significatif ni de très visible du côté des outils par rapport à la version 7.8, mais de subtils ajouts en préparation de la version 7.10.

De nombreux changements du côté de la machine virtuelle, dont le support 64 bits pour Windows, un garbage collector plus performant et l’abandon des plate-formes Linux/SPARC.

Côté GUI, quelques ajustements mineurs mais une foule d’ajouts en vue de la version 7.10.  Mais quelques petits changements irritants qui pourraient vous causer de désagréables surprises.

Par exemple, la classe ApplicationWindow n’est plus une sous-classe de ScheduledWindow mais bien un alias de celle-ci tel qu’expliqué ici!

Autre chose, la classe SubCanvas a subi quelques modifications.  Cette classe est maintenant obsolète et ses méthodes ont été rapatriées dans sa superclasse, CompositePart.  Effet collatéral: la variable d’instance « client » apparaît maintenant dans CompositePart et la méthode client a disparu!  Autre disparition, la méthode #clientSpecBuilder!  Plus de détails ici.

Quelques ajustements mineurs du côté des bases de données, le plus important étant le support 64 bits pour Oracle et ODBC ainsi que SQLite 3.  Du côté des curiosités concernant les requêtes SQL, il appert que les versions antérieures de VisualWorks permettaient, avec Oracle, de binder avant de faire un prepare : cela ne fait absolument aucun sens, mais il semble que certains se fiaient à VisualWorks et ses tours de magie pour compenser le fait que l’ordre des étapes nécessaires à l’exécution d’une requête SQL était inversé.  Bref, cela ne fonctionne plus sous 7.9 !  Comme il se doit, vous devez maintenant préparer puis binder puis exécuter!  Les détails sont ici.

Les plus nombreux ajouts et changements apportés par cette version sont regroupés au niveau des services web.  Il y en a tant qu’à cet égard, je vous suggère de lire la pléthore de changements et d’ajouts dans le document Release Notes à la section WebServices.

Outre les changements énumérés précédemment, il y a quelques détails au niveau de StORE qui ont été ajusté, de nouvelles implémentation au niveau des librairies de sécurité, etc.

Cela étant dit, ceux qui migreront vers cette version frapperont un mur au niveau de StORE.  Premier petit changement mineur, l’affichage des Bundles suit maintenant l’ordre alphabétique au lieu de l’ordre dans lequel ceux-ci devraient être chargés (considérant les prérequis de chacun).  Du côté des désagréables surprises, un sérieux problème de lenteur affecte la fonctionalité « browse versions » pour les méthodes dans la version officielle.  Heureusement, il existe déjà un correctif disponible (publié par Samuel S. Shuster sous le nom FastMethodVersions) sur le Cincom Public Repository!

Finalement, autre changement majeur concernant la méthode #@ (class Point).  Si vous créez un point avec la coordonnée y étant négative, vous aurez la surprise de découvrir que @- est maintenant un message valide!  Cela vous force donc maintenant à insérer un espace entre le @ et la coordonnée y négative!  Plus de détails ici.

Bref, la version 7.9.1 vaut amplement la peine d’une migration, d’autant plus que la version 7.10 introduira le nouveau framework SiouX pour les serveurs Web!


DataCleaner

8 décembre 2012

DataCleaner est un outil d’analyse de données versatile, complet et efficace.  Il vous permet d’analyser, de nettoyer, de transformer et de profiler le contenu des tables de vos bases de données.

La version 3.0 de DataCleaner supporte les bases de données suivantes :

  • Apache Derby
  • Cubrid
  • DB2
  • Firebird
  • H2
  • Hsqldb
  • HyperSQL
  • Ingres
  • JDBC/ODBC
  • LucidDB
  • SQL Server
  • MySQL
  • Oracle
  • Pentaho Data Integration
  • Pervasive
  • PostgreSQL
  • SAP DB
  • SQLite
  • Sybase
  • Teradata

Vous pouvez également installer d’autres pilotes JDBC si besoin est et que la base de données que vous utilisez n’est pas dans la liste ci-haut !

DataCleaner peut valider et corriger une foule de choses dont les adresses, les courriels, les dates, les noms, les numéros de téléphone, etc.  Vous pouvez même ajouter vos propres dictionaires et filtres.  DataCleaner offre aussi la possibilité de normaliser les données, d’analyser la distribution de celles-ci, de faire des analyses de clustering, de manipuler des structures complexes, de filtrer selon une foule de critères, d’établir vos propres fonctions de conversion, etc.

Les résultats de DataCleaner peuvent être exportés dans une table intermédiaire, un fichier CSV ou Excel et peuvent également être directement appliqués sur la table. Vous pouvez combiner différents filtres et des fonctions d’analyse et de transformation en une seule opération.

DataCleaner comprend aussi un support intégré pour les requêtes de validation EasyDQ, la comparaison phonétique, des graphiques statistiques, la possibilité de comparer vos données avec des données externes, etc.

La version 3.0 offre aussi une option de monitoring accessible via le web!

Pour l’avoir utilisé moi-même, je vous recommande très personnellement DataCleaner!

Bref, un outil indispensable si vos données, et l’exactitude de celles-ci, vous tient à coeur!