mercredi 30 septembre 2009

Particularités Oracle

--renvoi 'PAS NULL'
select case when NULL = NULL then 'NULL' else 'PAS NULL' end from dual;
--renvoi 'NULL'
select case when NULL IS NULL then 'NULL' else 'PAS NULL' end from dual;

--première condition de vérifiée les autres ne sont pas regardées
select
case
when 1 > 0 then 1
when 1 > 0 and 0 = 0 then 0
else null
end X
from dual;
--résultat : 1 et non 0 !

--intervention de null dans une fonction d'agrégation min,max => aucune incidence
select max(a) from
(
select null a from dual
union
select 5 a from dual
union
select 3 a from dual
);
--résultat : 5, c’est ok

--null absorbant sur la somme (opération d'aggrégation)
select sum(null + 1) from dual;
--résultat : null et non 1 !

--transformation des valeurs nulles
select sum(nvl(null,0) + 1) from dual;
--résultat : 1 comme attendu

--ne remonte pas les lignes dont champ est à NULL
select champ from dual where champ <> '1';
select champ from dual where nvl(champ,'x') <> '1'; --ou champ <> '1' or champ is null;

Test universel ?

Pour savoir s'il n'y a pas de donnée, dans tout language de programmation qui se respecte on teste la longueur de la chaîne "trimée"
on teste donc si la chaine est nulle ou vide en même temps !
Mais sou Oracle Null est absorbant...
On testera donc... la nullité de la valeur qu'elle soit à blanc ou à null => non renseigné.


select trim(nvl(null, ' ')) from dual;

select nvl(null, ' ') from dual;

-- Length(null) => NULL !!
select length(null) from dual;

Doc Functions : ss64 - gladir - techonthenet

vendredi 7 août 2009

INFORMATICA DAY

Journée d'information et de découverte autour des principales demandes des entreprises ; l'alimentation (ETL) et la qualité de données (DataQuality).
Bien sûr démonstration de l'efficacité du produit Informatica !
  • Data quality
  • Intégration de données
[Article original EthanTang.fr]

mercredi 24 juin 2009

L'Agilité, c'est nouveau ?

Lors de présentations SCRUM en entreprise, je constate qu'une grande partie de l'audience reste dubitative sur le caractère novateur de la méthode.

Je vois deux réponses :

  1. De fait, l'esprit de ces méthodes a été formalisé en 2001, et SCRUM date de 1996. Ce n'est donc plus tout jeune.
  2. Par ailleurs, de nombreux collaborateurs parmi nous sont, depuis longtemps, des Monsieur Jourdain de l'Agilité. Notamment en phase de recette.

Donc, c'est pas nouveau ?

Et bien si ! Si, ça reste nouveau. En effet, bien que toutes les études montrent leur pertinence, la mise en pratique de ces méthodes du début à la fin des projets ne s'impose que très lentement.
Pourquoi ? Une réponse simple : personne (ou presque) n'est réellement intéressée à la réussite des projets. Regardez autour de vous, chez nos clients.

Mais les choses changent, l'IT est en train de passer de l'artisanat à l'industrialisation. Et des taux d'échecs de 70% sont de moins en moins tolérables. Nous devons donc aider nos clients à réussir leurs projets.

mercredi 3 juin 2009

Qualité de données avec Talend Open Profiler (TOP)

Il ne faut jamais perdre de vue que le succès d'une entreprise dépend largement du niveau de qualité de ses données et ce indépendamment du secteur d'activité et des applications utilisées.

Les données sont la matière première de la décision.

Talend lance donc un outils open source dévaluation de la qualité des données. [Documentation TOP (version anglaise)]

Il s'agit d'un logiciel de profiling qui consiste à évaluer la qualité de données pour limiter les pertes d'efficacité au sein de l'entreprise.
Cet outils pourra être utiliser afin d'analyser la complétude d'une adresse client, fournir des indicateurs pour certains éléments de données et enfin publier ses résultats sous forme de graphiques.

Une étude comparative des outils et technique de data profiling réalisée par la société de conseil Ysance et l'école Polytech' de Nantes qui comparait les solutions : Talend Open Profiler (Talend)/Data Quality for Data Integrator (Oracle)/SQL Server (Microsoft) a montré que les points fort de TOP sont :
  • Téléchargement libre et gratuit ne nécessitant pas d'installation
  • Connexion à la majorité des bases existantes
  • Système de base de métadonnées
  • Fonctionnement en mode non-connecté, récupération et stockage des métadonnées
  • Prise en main simple et intuitive
  • Présence de graphiques
  • Forte documentation et présence d'une communauté intéressante
Aujourd'hui TOP est le 1er outils open source dans le domaine de la gestion de la qualité de données, ce logiciel constitue une alternative aux solutions propriétaires concurrentes (Informatica, Oracle, DataFlux, ...)

vendredi 29 mai 2009

Connection à une base de données via JDBC - SqlDeveloper

Pour Toad il faut Oracle client d'installé sur le poste client... qui contient un fichier Tnsname.ora que Toad utilise.
Il est tout à fait possible de se connecter à une base (Oracle, Mysql, SqlServer, Postgre) via jbdc avec le service SID (il vous faudra la JVM). C'est de cette manière que Talend se connecte aux bases.

Utiliser un utilitaire de base de données tel que SqlDevelopper Lite [download]
+) il est complet, graphique et peux tout exécuter
-) tout est dans la même perspective, on ne pas changer simplement une procédure ou des caractéristiques de la table/champs... et là Toad nous manque un peu.

Il existe surement de meilleurs logiciels pour faire la même chose, n'hésitez pas à laisser des commentaires !
Télécharger les drivers correspondant à votre base : Drivers jdbc pour Oracle
[Driver Oracle 9i] [findJar : site recherche de Jar]
  • Installer et lancer SqlDevelopper Lite
  • Mettre le jar de connection dans le répertoire plugins (
  • File > open connection > new
  • Onglet Oracle
  • Entrez les paramètres de connection (vous pouvez facilement récupérer ses informations dans le tnsnames.ora [x:\oracle\ora92\network\ADMIN\]
  1. Host:Port => serveur où se trouve la base de données avec son port de connection au service
  2. SID : nom de l'instance (nom sur lequel on se connecte habituellement avec Toad et où Toad fait le lien avec la base => schéma)
  3. User/password : Instance de la base avec mot de passe
  • Choisir le driver (ex.: ojdbc14-9i.jar) aller dans "Driver Settings" > ADD...
  • Vous pouvez maintenant faire joujou avec la base de données ! (ici Oracle)
Pour plus d'information le site de SqlDeveloper est très bien documenté.

[Oracle SQL Developer] Ce logiciel gratuit d'Oracle offre vraiment une très bonne alternative à To@d, la version 2.1, apporte des fonctionnalités vraiment intéressantes en plus de la correction de bugs (notamment sur la gestion du fenêtrage ; en plus aide à la création des requêtes, formatage, glisser/déposer, enregistrement des requêtes exécutées ; entièrement customisable (ajout de fichiers xml) et paramétrable).