Décrit comment installer, configurer et utiliser le SGBD Derby.
Il y a de nombreux exemples d’applications qui ne demandent que l’utilisation d’une petite base de données. Dans ce cas on aimerait ne pas avoir à installer un serveur de base de données ni passer par de grosses procédures d’installation et également pouvoir se passer d’un DBA. Derby fait partie de ces petits SGBD qui n’utilisent qu’une petite empreinte mémoire et qui peuvent être installés en mode embarqué. De plus, ce SGBD a la particularité d’avoir été écrit totalement en Java, il est donc multiplateforme et vous n’aurez qu’un fichier .jar à ajouter lors de l’installation de votre application Java.
Derby est un système de bases de données relationnelle de la fondation Apache sous licence OpenSource dont l’origine etait un projet d’IBM nommé Cloudscape. Ce SGBD est également fourni par SUN dans son kit de développement Java ( depuis le JDK 6) mais également avec NetBeans et GlassFish. Dans ce cas, il se nomme JavaDB.
Derby a la particularité principale d’avoir été écrit entièrement en Java tout en fournissant les fonctionnalités d’un système de gestion de bases de données relationnelle complet avec implémentation du langage SQL , gestion des transactions, triggers et procédures stockées.
Ce SGBD est disponible sous les distributions suivantes :
Des plugins pour l’environnement de développement Eclipse sont également disponibles.
Derby inclue comme fonctionnalités, la possibilité d’être utilisée sous forme embarquée ou en mode client/serveur. Des utilitaires en lignes de commandes sont disponibles : ij pour exécuter des scripts SQL , dblook pour les schémas de bases de données et sysinfo qui permet d’afficher des informations sur le système installé (JVM + SGBD).
Si vous avez installé le JDK 6 de Sun, derby/javaDb devrait l’être aussi. Ce dernier se trouve par défaut, dans un sous répertoire du dossier d’installation nommé db.
Si vous désirez installer Apache-Derby sur un poste de production, la lib distribution fera l’affaire. Dans notre cas, nous allons récupérer l’archive bin distribution puisque nous allons l’installer sur un poste de développement. Cela nous permettra de disposer de la documentation et des utilitaires.
Récupérez sur le site l’archive db-derby-10.2.2.0-bin.zip dans un répertoire temporaire.
Décompressez avec la commande suivante :
Une fois l’archive décompressée, il ne vous reste plus qu’à déplacer le répertoire crée dans un répertoire d’installation. Personnellement, je vais le déplacer dans /opt. Pour cela, nous devons nous mettre en mode root avec la commande suivante :
Puis tapons la commande de déplacement :
Vous devriez normalement avoir l’arborescence suivante :
Si vous utilisez la version JavaDB fournie par Sun, vous devriez avoir dans le répertoire d’installation du JDK le dossier db comme le montre la capture suivante :
Le répertoires bin contient les principaux utilitaires à la fois sous forme de script shell pour les systèmes UNIX et sous forme de batch (*.bat) pour exécution dans un environnement Microsoft. Les principaux outils sont :
Le répertoire demo contient des programmes java et une base de données d’exemples.
Le répertoire docs contient différents manuels sur Derby au format HTML et PDF.
Le répertoire javadoc contient la documentation au format Javadoc de l’API.
Le répertoire lib contient l’ensemble des fichiers .jar contenant les librairies Derby.
Les librairies les plus importantes sont :
derby.jar : (moteur de base de données) à installer avec toute application utilisant une base embarquée. En mode client/serveur, ce fichier n’est pas utile sur le poste client.
derbytools.jar : (classes utilitaires) à installer avec toute application utilisant une base embarquée. En mode client/serveur, uniquement sur le poste client. Indispensable pour utiliser les programmes utilitaires comme ij ou dblook.
derbynet.jar : (librairie de gestion du serveur). Indispensable pour démarrer le serveur.
derbyclient.jar : (librairie cliente). Contient le driver client.
A cela, s’ajoute un certains nombre de fichiers servant à la localisation comme le fichier derbyLocale_fr.jar.
Pour pouvoir utiliser les programmes utilitaires en ligne de commande fournis, vous devrez modifier vos variables d’environnements comme suit. Sous LINUX vous pourrez ajouter les lignes suivantes dans le fichier .bashrc ou .bash_profile de votre dossier home (rappel : ces fichiers sont cachés).
Dans l’exemple précédent on considère que le SGBD a été installé dans le répertoire opt/db-derby-10.2.2.0-bin. En ayant modifié le PATH, cela va vous permettre d’appeler les utilitaires derby depuis n’importe lequel de vos répertoires.
Si vous utilisez javadb votre paramétrage peu ressembler à cela :
Pour que la machine virtuelle puisse utiliser les classes contenue dans les packages derby vous devrez mettre à jour la variable CLASSPATH comme suit :
Une fois enregistré la modification du fichier .bashrc et réouvert une console, tapez la commande sysinfo. Ce programme affiche les paramétrages et n° de versions de java et de Derby. Si vous avez correctement initialisé vos variables d’environnements vous devriez avoir un affichage ressemblant à celui-ci :
Pour ce premier essai avec derby nous allons créer une base de données contenant une seule table. Cette base se nommera mediatheque et la table T_COMPOSITEURS_CMP.
Le plus simple est de se positionner dans le répertoire dans lequel nous désirons créer la base de données.
Dans ce répertoire, nous définissons le script qui servira à créer la table ainsi qu’à insérer quelques enregistrements de tests.
Créer le fichier script suivant chargé de créer une table avec quelques données de test :
Sauvegardez-le en lui donnant comme nom create_T_COMPOSITEURS_CMP.sql par exemple.
Il s’agit d’une syntaxe SQL standard sauf pour la définition du premier champ :
CMP_ID INT GENERATED ALWAYS AS IDENTITY
Cette ligne indique que ce champ de type entier sera automatiquement généré par derby.
Nous pouvons maintenant créer la base. Pour cela, toujours en restant dans notre répertoire courant, nous exécutons l’utilitaire ij dans une console et nous tapons la commande de création de base de données.
Cette commande créé une base nommée mediatheque vide pour l’instant.
On peut constater, que cela a eu pour effet de créer un nouveau répertoire ainsi que des fichiers dans notre dossier courant.
Exécutons maintenant le script de création de la table :
Pour vérifier que que notre table existe bien, il suffit d’afficher son contenu avec une commande SELECT.
La base a bien été créée avec sa table.
Si vous désirez créer une application Java utilisant une base de données Derby, vous ne devrez pas oublier de référencer les chemins des librairies de derby dans le classpath de l’application. Si vous utilisez une variable d’environnement vous devriez avoir une définition de ce type dans votre fichier de configuration :
CLASSPATH=.:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
La base de données Derby n’est pas réputée pour pour être très performante, donc ne contez pas dessus pour remplacer votre SGBD Oracle. Par contre, celle-ci pourrait vous être très utile dans de nombreux cas du fait qu’elle est écrite totalement en java et qu’elle peut être utilisé en mode embarqué. Donc, si vous désirez développer une application Java utilisant une petite base de données qui soit portable et qui puisse être utilisée sans avoir à installer un véritable serveur de bases de données, Derby peut être le bon choix. De plus, si vous désirez déplacer votre base de données, il vous suffira de déplacer ou effectuer une copie du répertoire dans lequel elle a été créée se qui simplifie les procédure d’installation.
Crée par: chris
Créé le: 8 mai 2010
Modifié le: 1er novembre 2019
Nombre de visites: 474
Popularité: 10 %
Popularité absolue: 1
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 2
Nombre moyen de visites quotidiennes sur le site: 202