Tdid-IPS-38-SQLite-Browser SQL
ProcédureUtiliser l'éditeur SQLite et tester quelques requêtes SQL⚓
Télécharger ou utiliser la version qui convient : il existe une version portable ->2006_IBB-BDD_EditeurSQLite.
Nous supposerons que le logiciel est installé dans un dossier nommé SQLiteDb
.
Dans l'exercice 404 de l'activité 42, les données étudiants, matières et notes sont stockées dans des fichiers CSV indépendants.
Le stockage des mêmes données dans une base de données est avantageux en cela que toutes les données sont présentes dans 1 seul fichier.
Charger et consulter la base
bdnoted.db
.Réglementaire
Dans le dossier 0800.zip, déplacer le fichier
bdnotes.db
dans le dossier de l'application nomméSQLiteDb\Data
.Observez le contenu de l'onglet
Structure de la base de données
:- la base se compose de 3 tables dont la colonne donne le code SQL qui a permis de les créer. C'est un peu comme si vous aviez listé les colonnes des fichiers tableurs en précisant quelques règles pour mémoriser les données de chaque colonne. Ici, notons juste que les attributs id sont de type INTEGER, lib de type TEXT, etc ...
- ce dialecte SQL[1] sera repris dans le code Python si on souhaite créer des tables directement dans un programme.
Observez le contenu des tables avec l'onglet
Parcourir les données
.Tester des requêtes SQL
Via le site 2003-IPS-SQL-Cours et tutoriels sur le langage, vous pouvez accéder à une présentation du dialecte SQL.
RéglementaireLister les étudiants⚓
Avec l'onglet
Exécuter le SQL
, vous allez pouvoir tester des requêtes SQL afin de prendre en main le dialecte SQL.Dans l'onglet
SQL 1
coller le code SQL1SELECT * from tbEt
Exécuter la requête
Ajouter un onglet SQL 2 avec le code SQL ci-dessous, puis exécutez le :
1SELECT lib from tbEt
SQL 3 :
1SELECT lib from tbEt where lib like 'Du%'
SQL 4 :
1SELECT lib from tbEt where lib like 'Du%' and id=1
RéglementaireIntégrer des fonctions sur les tuples de la table tbnotes⚓
Exécuter la requête
1select avg(note) from tbnote
et constatez la concision du code pour calculer la moyenne.
Exécutez
1select count(note) as nb, avg(note) as moy, min(note) as min , max (note) as max from tbnote
RéglementaireCompter le nombre de notes pour chaque étudiant⚓
1select id_Et as 'N° étudiant', count(note) as 'Nb notes' from tbNote group by id_Et
RéglementaireCalculer la moyenne pour chaque étudiant⚓
1select id_Et as 'N° étudiant', count(note) as 'Nb notes', avg (note) as 'Moy. ET' from tbNote group by id_Et
Et afficher le nom de l'étudiant qui est présent dans la table tbEt⚓
1select id_Et as 'N° étudiant', tbET.lib, count(note) as 'Nb notes', avg (note) as 'Moy. ET' from tbNote, tbEt where tbET.id = tbNote.id_et group by id_Et
Résultat obtenu avec une jointure (clause WHERE) entre les clé primaires et étrangères des tables tbEt et tbNote⚓
"1" "Durand" "3" "9.0"
"2" "Dupond" "3" "13.0"
"3" "Martin" "3" "14.3333333333333"
"4" "Durant" "3" "10.6666666666667"
"5" "Marquez" "3" "5.33333333333333"
Exporter les données
Il est possible d'exporter les données vers les formats SQL, csv et JSON.
Faites l'export en csv des tables pour constater que vous arrivez au même résultat que les fichiers CSV que vous avez utilisés dans l'exercice 404.
L'export en fichier texte SQL est intéressant pour découvrir le code SQL qu'il est nécessaire d'utiliser pour créer cette base de données avec les 3 tables.
Une fois l'export effectué, ouvrez le fichier généré avec un éditeur de texte.
Lorsqu'en python, nous exécuterons du code SQL, vous retrouverez les éléments de langage exportés.