Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:documentation:h2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
site:enseignement:documentation:h2 [26/11/2020 10:24] – [Le SGBD H2] aminesite:enseignement:documentation:h2 [15/11/2021 18:50] (Version actuelle) – [Télécharger et installer H2] amann
Ligne 1: Ligne 1:
 {{indexmenu_n>10}} {{indexmenu_n>10}}
  
-===== Le SGBD H2===== +===== SGBD H2 =====
-===Pré-requis : Java===+
  
-Vérifier que java est installé  +H2 est un système de gestion de base de données relationnelle écrit en Java. 
-<code bash> +
-   java –version  +
-</code>+
  
-sinon télécharger le dernier jdk [[https://jdk.java.net/|java]]  (ou la jre [[https://www.java.com/fr/download/|java 8]] ) et l’installer.+==== Instructions ====
  
-**Seulement si nécessaire**, compléter le PATH+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]]
  
-//Sous Linux// :  +==== Télécharger et installer H2 ==== 
-<code bash> + [[https://www.h2database.com/html/main.html]] et suivez les instructions d'installation.
-   export PATH=${PATH}:chemin vers le dossier bin contenant java +
-</code>+
  
-//Sous Windows// +  - uniquement Windows: Windows Installer installe H2 comme programme dans le répertoire c:\Program Files ou C:\Program Files (X86) 
-<code bash> +  - Window et Linux: vous pouvez aussi télécharger le fichier //All platforms// qui est une fichier Zip que vous pouvez décompresserLe répertoire créé contient un sous-répertoire//bin// avec toutes les commandes H2. 
-   set PATH=%PATH%;chemin vers le dossier contenant java.exe +==== Créer une base de données vide ====
-</code>+
  
-===Téléchargement===+<fc #ff0000>Attention: la nouvelle version de H2 demande la création de la base avant le lancement de la console.</fc>
  
-Il y a 2 outils distincts un SGBD et une interface d’accès au SGBD.+=== Méthodé de création 1===
  
-Le SGBD [[https://www.h2database.com/html/main.html|H2]]. Voir aussi le [[https://www.h2database.com/h2.pdf|manuel H2]] en anglais. +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)
-**Télécharger** [[https://nuage.lip6.fr/s/FrjfmmocrYmDFit|h2-1.4.200.jar]] dans votre dossier de travail ou exécuter les instructions suivantes :+
  
-<code bash> +{{ :site:enseignement:licence:2i009:sgbd-h2:capture_h2_1.png?200 |}}
-cd votre_dossier_de_travail +
-wget https://h2database.com/h2-2019-10-14.zip +
-unzip h2-2019-10-14.zip  +
-mv h2/bin/*.jar . +
-rm h2*.zip +
-</code>+
  
-===Démarrage du SGBD=== 
-On démarre le SGBD H2 en mode “serveur”. Ouvrir un terminal et aller dans votre dossier de travail. On utilise le port 9093 
  
-<code bash> +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)
-cd votre_dossier_de_travail +
-java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093 & +
-</code>+
  
 +{{ :site:enseignement:licence:2i009:sgbd-h2:capture_h2_2.png?400 |}}
  
-Vérifier que le message suivant s’affiche :  +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.
-<code> +
-TCP server running at  tcp://127.0.1.1:9093 (only local connections) +
-</code>+
  
 +=== Méthodé de création 2: ===
 +Exemple dans une console cmd Windows :
  
-Vérifier que le serveur H2 est démarré afficher un processus nommé h2 :+    > 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
  
-<code bash> +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 (~). 
-ps -u | grep h2 | grep Server +
-</code>+
  
-cela affiche //java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093//+[[http://www.h2database.com/html/tutorial.html|Tutoriel H2]]
  
-=====Questions diverses=====+==== Lancer H2 ====
  
-===Puis-je modifier le contenu de la base ?=== 
-Oui, avec les instructions SQL insert, update et delete. 
-Faire un  
-   commit;  
-à la fin de vos instructions pour que les données soient visibles des autres applis qui interrogent la base. 
  
-===Peut-on éteindre le SGDB H2 ? ===  +=== Linux ===
-Ouvrir un terminal:+
  
-   cd votre_dossier_de_travail 
-   java -cp h2-1.4.200.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9093 
  
 +   cd h2-2019-10-14/bin
 +   chmod +x h2.sh
 +   ./h2.sh
  
-===Est-ce que le SGBD H2 est démarré ?=== 
-Dans un terminal, afficher un processus nommé h2 : 
  
-   ps -u | grep h2 | grep Server+=== Windows ===
  
 +  - Naviguer dans le répertoire h2-2019-10-14/bin
 +  - Exécuter h2.bat
  
-===Accès à la base depuis Windows=== +(ou chercher "H2 Console" et exécuter)
-Voir les indications complémentaires [[https://nuage.lip6.fr/s/mGH3ARoojYp6y9R|TP BD sous windows]] et les adapter à votre cas.+
  
-===Consulter le schéma d’une base=== 
-Les instructions SQL pour consulter le schéma d’une base sans utiliser Database Explorer : 
  
-   show tables;        - affiche le nom des tables  +La commande lance le serveur et ouvre une fenêtre de connexion: 
-   show columns from matable;         -affiche le schéma relationnel de matable.+
  
-===Peut-on créer, avec H2, une nouvelle base autre que la base Mondial ?=== +{{:site:enseignement:licence:2i009:documents-tme:h2_1.png?500|}}
-Oui, pour cela il faut éteindre H2 puis le relancer avec l’option -ifNotExists+
  
-   java -cp h2-1.4.200.jar org.h2.tools.Server -ifNotExists -tcp -tcpPort 9093 & 
  
  
-=== Comment utiliser wget depuis les salles de la PPTI ? === +Cliquer sur **Connecter**  
-En salle de TME, la commande wget est bloquée car les connexions sortantes ne sont pas autoriséeIl faut préciser de passer par le proxy en ajoutant les options use_proxy et https_proxy + 
-<code bash> + 
-wget use_proxy=on -e https_proxy=proxy:3128 url_du_fichier_à_télécharger+__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 '' {{:site:enseignement:licence:2i009:documents-tme:h2_2.png?500|}} 
 + 
 +==== 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
 + 
 +   * TME7 : [[http://www-bd.lip6.fr/wiki/site/enseignement/licence/2i009/donnees-astronomiques| BD-données-astronomiques]][[http://www-bd.lip6.fr/wiki/site/enseignement/licence/2i009/donnees-foofle-h2| BD-données-Foofle]] 
 +   * TME5, 6 et [[http://www-bd.lip6.fr/ens/2I009_2015/bd-jo-v2_H2.html| BD-JeuxOlympiques-v2]] 
 +   * TME4 : [[http://www-bd.lip6.fr/ens/2I009_2015/bd-jo-v1_H2.html| BD-JeuxOlympiques-v1]]  
 + 
 +Cliquer sur **Exécuter** 
 + 
 +==== Poser des requêtes SQL ==== 
 + 
 +Cliquer sur **Effacer** et écrire vos requêtes ! 
 + 
 +Par exemple : 
 +<code sql> 
 +   SELECT * FROM Astre;
 </code> </code>
-/* 
-Eventuellement, installer chez soi [[http://www.index-internet.net/info_oracle_xe_oracle_express_edition.htm|Oracle Express Edition]] 
  
-*/ 
  
 +==== 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 [[http://www.h2database.com/| H2]] est [[http://www.h2database.com/]]
  
site/enseignement/documentation/h2.1606382664.txt.gz · Dernière modification : de amine