<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Tables virtuelles sous Derby - Chicoree</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby</link><atom:link href="http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[
Apache Derby permet de créer des tables virtuelles. C'est à dire des tables dont le contenu n'est pas stocké par Derby, mais dynamiquement généré par du code Java.
Concrètement, il s'agit d'écrire une méthode Java publique statique renvoyant une instance de ResultSet. Si le principe n'est pas compliqué en soi, la mise en oeuvre à partir de zéro est un peu fastidieuse, ne serait-ce que par le nombre de méthodes à coder pour satisfaire l'interface ResultSet de Java.
Ici, pour présenter l'écriture de tables virtuelles pour Derby, je vais donc utiliser les classes utilitaires fournies par Rick Hillegas de Sun[1] (Vous trouverez un lien pour les télécharger à la fin de cet article).
]]></description><item><title>1 Tables virtuelles en 4 étapes</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Tables_virtuelles_en_4_.C3.A9tapes</link><description><![CDATA[<p>La création d'une table virtuelle avec Derby peut se diviser en 4 étapes:
</p>]]></description></item><item><title>1.1 Mise en oeuvre</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Mise_en_oeuvre</link><description><![CDATA[<p>Cette étape est en quelque sorte la plus importante, puisque c'est là que vous allez coder la logique spécifique à votre application. Son rôle est de générer les données de la table virtuelle.
</p>]]></description></item><item><title>1.2 Publication</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Publication</link><description><![CDATA[<p>Avec cette seconde étape nous allons terminer le travail <i>côté Java</i>. Il s'agit ici de coder une méthode <i>publique statique</i> qui permettra à Derby d'instancier <i>notre</i> table virtuelle. Généralement cette fonction se limite à un <i>wrapper</i> autour de l'appel à l'opérateur <i>new</i>:
</p>]]></description></item><item><title>1.3 Déclaration</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#D.C3.A9claration</link><description><![CDATA[<p>Nous voici maintenant côté Derby. Et là, il va falloir importer notre table virtuelle sous la forme d'une <b>fonction SQL</b>:
</p>]]></description></item><item><title>1.4 Invocation</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Invocation</link><description><![CDATA[<p>Une fois ceci fait, il devient enfin possible d'utiliser cette fonction comme une table dans une requête SQL:
</p>]]></description></item><item><title>2 Un exemple plus complexe</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Un_exemple_plus_complexe</link><description><![CDATA[<p>Pour ce second exemple, vous allons mettre en oeuvre une table virtuelle qui renvoie la liste des fichiers d'un dossier donné. Cette fonction sera un peu plus complexe que notre premier exemple, pour deux raisons:
</p>]]></description></item><item><title>2.1 Usage</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Usage</link><description><![CDATA[<p>A titre d'illustration, voici quelques exemples de requêtes SELECT utilisant notre table virtuelle. Vous constaterez qu'il nous est possible d'utiliser l'éventail des possibilités de SQL fournies par Derby pour manipuler ces données exactement comme s'il s'agissait de tables <i>ordinaires</i>:
</p>]]></description></item><item><title>3 A quoi ça sert?</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#A_quoi_.C3.A7a_sert.3F</link><description><![CDATA[<p>L'usage des fonctions virtuelles est très vaste: puisqu'elles peuvent tout aussi bien servir pour accéder à partir de Derby à des données <i>live</i>, à importer des données d'un fichier au format plus ou moins exotique, ou encore à interfacer Derby avec une autre application – ou un autre <span>SGBD<span> (</span><span>Système de Gestion de Bases de Données<span>) </span></span></span>. Tout en permettant d'utiliser la <i>machinerie</i> SQL de Derby pour manipuler et/ou analyser ces données, et cela sans qu'il soit nécessaire de les <i>stocker</i> dans la base.
</p>]]></description></item><item><title>4 Ressources</title><link>http://www.chicoree.fr/w/Tables_virtuelles_sous_Derby#Ressources</link><description/></item></channel></rss>
