TP1 - Mise en place SQL/PostgreSQL/IntelliJ
Table des matières
1. PostgreSQL
1. Installation PostgreSQL
2. Initialisation de la base de données 1. Création d'un utilisateur
2. Création de la base de données 3. Modifier le mot de passe 3. Connexion à la base utilisateur 4. Quelques commandes
2. Java 3. IntelliJ
1. Configuration
2. Utilisation de la base de données 4. TP Stages
1. Sujet 2. Corrections
PostgreSQL
Installation PostgreSQL 11
Sous Debian 10 (Buster) :
sudo apt install postgresql-11
Pour les curieux : Installation dans un container Docker Sous Debian 10 (Buster) :
1. Installation Docker : Suivre les instructions sur la page offciel de page 2. Installation de PostgreSQL 11 :
1. Téléchargement de l'image, puis lancement d'un container
docker run --name postgres11 -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres:11
vérification
2. Exécution du conteneur
docker exec -ti postgres11 bash
Initialisation de la base de données
Création d'un utilisateur Connexion en mode admin :
su postgres psql
Création :
create role christophe password 'passwd' login;
Modification des droits :
alter role christophe set datestyle=sql,dmy;
Création de la base utilisateur
create database basechristophe owner christophe;
Rendre la base utilisateur privée
revoke connect on database basechristophe from public;
alter user david with password 'nouveaumdp';
\connect [nombase [nomuser]] permet de changer de base (et de user) (ou \c)
Quitter le mode admin
\q exit
Connexion à la base utilisateur
psql -h serveurpgsql -U login baselogin
psql -h localhost -U postgres -> va chercher la base 'postgres' superuser = postgres
Quelques commandes
\? aide sur les commandes pgsql
\h aide sur les commandes sql
\i requetes.sql -> exécute les requêtes du fichier requetes.sql
\q : se déconnecter
\d liste des tables
\d nomTable -> equivalent describe
\! pwd affiche le rep courant
\cd rep (la tabulation fonctionne)
\l liste des bases
\l+ infos supplémentaires : taille, tablespace…
\df liste des fonctions
\du liste des rôles (users)
Java
Pour utiliser IntelliJ, il faut installer jdk v8 minimum.
Sous Debian :
sudo apt install openjdk-11-jdk
Sous Windows :
des versions compilées d'openjdk se trouvent ici : https://adoptopenjdk.net/
versions officielles d'Oracle : https://www.oracle.com/java/technologies/, choisir par exemple : Java SE 11.0.9 (LTS)
IntelliJ
Installation
Licence étudiant :
Rendez-vous à l'adresse suivnate : https://www.jetbrains.com/community/education/#students Cliquez sur Apply now et remplissez le formulaire.
Installation :
Pour ces TP, il est important d'utiliser la version Ultimate car elle dispose du plugin Datagrid pour accéder aux bases de données.
Pour utiliser cette version, il vous faut obtenir une licence : L'installation se fait de la manière suivante :
Se rendre sur le site d'IntelliJ : https://www.jetbrains.com/idea/download/
Choisir sa plateforme : Windows, Linux ou Mac Choisir la version Ultimate
Installation : Sous Debian :
sudo tar xvfz ~/Téléchargements/ideaIU-2020.2.3.tar.gz
Première exécution :
cd idea-IU-202.7660.26/bin/
sh ./idea.sh
Create Desktop Entry
Ensuite, faire next jusqu'à l'écran d'activation suivant :
Renseignez votre adresse mail de l'université, votre mot de passe et cliquez sur Activate, la fenêtre d'accueil de l'application s'affiche.
Note : JetBrains conseille fortement de quitter l'application issue du premier lancement et d'utiliser le lanceur créé précédemment.
Configuration de la Data Source
Dans IntelliJ (version Ultimate uniquement), activer la vue Database à droite en cliquant sur l'onglet Database
Appuyer sur Test sql.PostgresConnection
Cliquer sur Download Driver Files Le test de connexion est OK
Cliquer sur OK
Utilisation de la base avec IntelliJ
La base de données est visible est manipulable depuis le volet "Database" situé à droite de la fenếtre du projet.
Dans ce paragraphe, nous allons :
lister les bases avec l'outil psql via la ligne de commande grâce au terminal, consulter les tables depuis le navigateur de bases de données,
interroger les tables depuis la console Création des tables
Vue terminal
1. Se connecter
psql -h localhost -U christophe basechristophe
2. Lister les bases
basechristophe=> \l
Vue Navigateur de base de données
Cette vue permet d'accéder aux bases, aux tables (strcuture et données)
En double-cliquant sur une table, la vue grille s'affiche. Elle permet d'ajouter ou supprimer directement des lignes dans la table avec les icônes '+' et '-'.
Vue console
La vue console permet d'exécuter des commandes sql. Elle s'obtient en cliquant sur l'icône "QL (Query Console) dans la vue "Database".
le résultat s'affiche en bas de l'IDE comme tous les résultats dans Intellij.
Dans cette vue, il est possible d'exécuter un script complet à condition de sélectionner toutes les lignes du script.
TP Stages
Sujet
Sujet
Corrections
Script de création des tables - Data - Requêtes