Table des matières
SGBD H2
H2 est un système de gestion de base de données relationnelle écrit en Java.
Instructions
Le système H2 est écrit en Java qu'il faudra installer avant si nécessaire: https://java.com/en/download/help/download_options.xml
Télécharger et installer H2
https://www.h2database.com/html/main.html et suivez les instructions d'installation.
- uniquement Windows: Windows Installer installe H2 comme programme dans le répertoire c:\Program Files ou C:\Program Files (X86)
- Window et Linux: vous pouvez aussi télécharger le fichier All platforms qui est une fichier Zip que vous pouvez décompresser. Le répertoire créé contient un sous-répertoirebin avec toutes les commandes H2.
Créer une base de données vide
Attention: la nouvelle version de H2 demande la création de la base avant le lancement de la console.
Méthodé de création 1:
La première méthode consiste à Lancer H2 (voir ci dessous) et choisir dans l'icône H2 affiché dans le menu “Create a new database” (click bouton droit).
La fenêtre affiché permet ensuite d'indiquer le chemin vers la base de données (attention: vous devez avoir le droit de créer le fichier).
Par exemple, vous pouvez mettre “~/td7” qui crée la base de donnée dans votre répertore HOME (~). Il faut ensuite indiquer un utilisateur et un mot de passe non-vide.
Méthodé de création 2:
Exemple dans une console cmd Windows :
> java -cp 'C:\Program Files (x86)\H2\bin\h2-1.4.199.jar' org.h2.tools.Shell Welcome to H2 Shell Exit with Ctrl+C [Enter] URL jdbc:h2:~/test [Enter] org.h2.Driver Driver org.h2.Driver [Enter] User sa Password Type the same password again to confirm database creation. Password Connected sql> quit Connection closed
Dans une installation locale il faut remplacer
java -cp C:\Program Files (x86)\H2\bin\h2-1.4.199.jar org.h2.tools.Shell
par le chemin correspondant. Par exemple:
java -cp C:\Users\toto\Desktop\h2-1.4.199\bin\h2-1.4.199.jar org.h2.tools.Shell
ou
java -cp /home/toto/h2-1.4.199/bin/h2-1.4.199.jar org.h2.tools.Shell
Le mot de passe peut être vide et vous pouvez changer le nom de la base (test). La commande génère un fichier dans votre répertoire HOME (~).
Lancer H2
Linux
cd h2-2019-10-14/bin chmod +x h2.sh ./h2.sh
Windows
- Naviguer dans le répertoire h2-2019-10-14/bin
- Exécuter h2.bat
(ou chercher “H2 Console” et exécuter)
La commande lance le serveur et ouvre une fenêtre de connexion:
Cliquer sur Connecter
Remarque : en cas d'erreur de connexion, vérifier que la configuration est “Generic H2 (Embedded)” et le champ URL JDBC contient bien jdbc:h2:~/test
Chargement de données
Copier/coller le contenu du fichier sql avec les données d'une base de données correspondant à la séance de TME.
- TME5, 6 et 7 : BD-JeuxOlympiques-v2
- TME4 : BD-JeuxOlympiques-v1
Cliquer sur Exécuter
Poser des requêtes SQL
Cliquer sur Effacer et écrire vos requêtes !
Par exemple :
SELECT * FROM Astre;
Différences entre Oracle et H2
H2 et Oracle n'ont pas le même format par défaut pour les dates.
Oracle | H2 | |
---|---|---|
Dates | '30/12/2015' ou to_date('30-12-2015', 'dd-mm-yyyy') | '2015-12-30' |
Par exemple :
- Oracle :
…where dateFin > to_date('21-02-2014', 'dd-mm-yyyy');
- H2 :
…where dateFin > '2014-02-21');
Divers
Le site du SGBD H2 est http://www.h2database.com/