Ceci est une ancienne révision du document !
Vérifier que java est installé
java –version
sinon télécharger le dernier jdk java (ou la jre java 8 ) et l’installer.
Seulement si nécessaire, compléter le PATH
Sous Linux :
export PATH=${PATH}:chemin vers le dossier bin contenant java
Sous Windows :
set PATH=%PATH%;chemin vers le dossier contenant java.exe
Il y a 2 outils distincts : un SGBD et une interface d’accès au SGBD.
Le SGBD H2. Voir aussi le manuel H2 en anglais. Télécharger h2-1.4.200.jar dans votre dossier de travail ou exécuter les instructions suivantes :
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
On démarre le SGBD H2 en mode “serveur”. Ouvrir un terminal et aller dans votre dossier de travail. On utilise le port 9093
cd votre_dossier_de_travail java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093 &
Vérifier que le message suivant s’affiche :
TCP server running at tcp://127.0.1.1:9093 (only local connections)
Vérifier que le serveur H2 est démarré : afficher un processus nommé h2 :
ps -u | grep h2 | grep Server
cela affiche java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093
On démarre SQLWorkbench pour accéder au SGBD H2. Pour cela, ouvrir un terminal et aller dans votre dossier de travail :
cd votre_dossier_de_travail java -jar sqlworkbench.jar
Compléter les champs suivants dans le profil de connexion : Driver: sélectionner H2 Database Engine puis Cliquer sur Manage Drivers (ou Edit the driver definition) et sélectionner H2 database Engine dans le panneau de gauche et cliquer sur le bouton avec une icône de dossier pour indiquer l’emplacement du fichier h2-1.4.200.jar
Revenir dans la fenêtre « Select Connection profile »
Remplacer la valeur du champ URL par ceci pour charger la base existante tpmondial. Attention ne pas indiquer le suffixe .mv.db du fichier de la base. Exemples d’URL :
jdbc:h2:tcp://localhost:9093/~/TP1/tpmondial
Permet de charger la base se trouvant dans le fichier ~/TP1/tpmondial.mv.db
Sous windows, cela charge la base tpmondial.mv.db se trouvant dans le dossier %USERPROFILE%\TP1 de l’utilisateur, avec USERPROFILE étant le dossier principal de l'utilisateur.
Puis compléter le champ Username pour indiquer que la base Mondial a été créée par l’utilisateur nommé etu :
Commencer par ouvrir l’onglet Database Explorer dans le menu Tools → Show Database Explorer. Database Explorer permet de consulter les tables existantes et leur schéma. Il permet aussi d’afficher le contenu des tables. Cliquer sur le nom d’une table et choisir dans le panneau de droite le sous-onglet Data.
Ouvrir un onglet avec les exemples de requêtes :
File → Open et sélectionner le fichier tpmondial-exemple-requete.sql dans votre dossier de travail. Cela permet de saisir des instructions SQL et de les envoyer au SGBD. La fenêtre est divisée en 2 parties : la partie supérieure sert à éditer les instructions SQL, la partie inférieure affiche le résultat des instructions. Pendant le TP, on interagit avec le SGBD uniquement au moyen d’instructions SQL, l’objectif est de progresser en SQL, pas de maîtriser toutes les fonctionnalités de l’outil SQLWorkbench.
Penser à bien séparer chaque instruction SQL par un point-virgule. Il y a deux possibilités pour exécuter une requête :
Possibilité d’ouvrir plusieurs onglets (View → Add Tab, Save Tab).
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.
Ouvrir un terminal:
cd votre_dossier_de_travail java -cp h2-1.4.200.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9093
Dans un terminal, afficher un processus nommé h2 :
ps -u | grep h2 | grep Server
Voir les indications complémentaires TP BD sous windows et les adapter à votre cas.
Les instructions SQL pour consulter le schéma d’une base sans utiliser Database Explorer :
show tables; - affiche le nom des tables show columns from matable; -affiche le schéma relationnel de matable.
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 &
En salle de TME, la commande wget est bloquée car les connexions sortantes ne sont pas autorisée. Il faut préciser de passer par le proxy en ajoutant les options use_proxy et https_proxy :
wget use_proxy=on -e https_proxy=proxy:3128 url_du_fichier_à_télécharger