Plan du cours:
Le langage de requêtes:
- TP tableur sur les prix Nobels. Opérations de recherche, filtre et tri sur une table: Lien
- Cours langage SQL et TD sur une base de données de prenoms: Lien
La structuration des données:
- Bases de données, règles pour construire une BDD en plusieurs tables, TP sur la creation d’une BDD cinéma (Base de Libre Office): Lien
- Problèmes d’intégrité, modele entité-relation (2): Lien, cours pdf et exercices
- SGBD, gestion de l’accès concurentiel, Lien
Travaux pratiques
- TP requêtes sur une table de prenoms: Lien
- TP sur la gestion d’une base de données de romans de sciences fiction, utilisant SQLite Browser
- TP sur le langage SQL avec des requetes sur une base de données. Différents thèmes sont proposés : Lien
- enquete de police
- villes du monde
- séries Netflix
- exoplanètes
- TP sur la creation d’un serveur avec gestion d’un formulaire en python/SQL: page 6
TP sur la table des prenoms
Télécharger la table en format csv
Aller sur la page des fichiers des prenoms de l’état civil: Lien
Télécharger le fichier en format csv (2Mo) dans l’onglet TELECHARGEMENT. Il sera peut être necessaire de dezipper le fichier si celui-ci est compressé.
La description de la table se trouve dans l’onglet DICTIONNAIRE DES VARIABLES.
Ouverture du fichier
-
Lancez votre gestionnaire de base de données (DB Browser for Sqlite), ou bien un gestionnaire en ligne sqliteonline.com
-
Dans le menu du gestionnaire: Créer une nouvelle base de données. Placer le fichier dans vos Documents. Ne pas créer de nouvelle table au démarrage.
-
Menu: Importer: depuis un fichier csv
Penser à bien cocher: Column name in first line et choisir le bon séparateur ;

import depuis sqliteonline.com

import depuis db Browser for sqlite
Affichage de la table
Aller dans l’onglet Parcourir les données.
On observe:
- que le nom de la table, c’est nat2022
- que le nom des colonnes n’est pas bien explicite

Parcours des données - observer les noms de colonne et nom de la table
à l’import, on a les noms suivants:
nom table | colonne 1 | colonne 2 | colonne 3 |
---|---|---|---|
nat2022 | sexe | preusuel | annais |
On va modifier ça: Modifier le nom de la table ainsi que celui des colonnes pour avoir les noms suivants:
nom table | colonne 1 | colonne 2 | colonne 3 |
---|---|---|---|
naissances | sexe | prenom | annee |
Rappels:
pour Renommer une colonne:
ALTER TABLE nom_table
RENAME COLUMN ancien_nom TO nouveau_nom
pour Renommer la table:
ALTER TABLE table_name
RENAME TO new_table_name
Afficher les premières lignes de la table afin de prendre connaissance des étiquettes des colonnes:
SELECT * FROM nom_table LIMIT 10;
Travail
voir fiche question-reponses
Aller dans l’onglet Executer SQL, écrire et tester une à une les instructions qui permettent de:
- Afficher les dix premières lignes de la table
- Afficher les lignes correspondant à l’année 1923. Là encore, mieux vaut ne demander que les 10 premières lignes…
- Afficher les prénoms des filles nées en 1978.
- Combien de fois le prénom Nicolas a-t-il été donné en 1907 ?
- Afficher les 10 prénoms de fille les plus donnés en 1978 rangés dans l’ordre décroissant du nombre de fois où ils ont été donnés. Utiliser les mots-clés:
SELECT FROM WHERE ORDER BY DESC LIMIT
- Afficher les lignes des prénoms de garçons donnés entre 1960 et 1969 (inclus l’un et l’autre). Utiliser un AND pour tester l’encadrement des années.
- Afficher le nombre de prénoms différents de garçons donnés en 1938.
SELECT COUNT(*) FROM WHERE
- Afficher le nombre de naissances de garçons observées en 1938.
- Afficher le nombre de filles et le nombre de garçons apparaissant dans la table.
SELECT SUM(nombre) FROM GROUP BY
- Quel est le prénom, pour un certain sexe, en distinguant par exemple “Camille (fille)” et “Camille (garçon)”, qui a été le plus donné durant une année donnée ? En quelle année ?
SELECT FROM ORDER BY DESC LIMIT
- En quelle année y-a-t-il eu le plus de naissances ? SELECT SUM(nombre) FROM GROUP BY ORDER BY DESC LIMIT
- Quels sont les 10 prénoms les plus donnés en France au cours du XX-ème siècle ?
SELECT SUM(nombre) FROM GROUP BY ORDER BY DESC LIMIT
Autres travaux pratiques SQL
Table unique
Exercice sur les nouilles japonaises. Interface en ligne par N. Revéret sur forge.apps.education.fr
Pays, villes et langues parlées, plusieurs tables
Exercice sur le langage SQL rédigés par N. Revéret sur forge.apps.education.fr. Interface en ligne.
Liens
- memento SQL sur forge.apps.education.fr
- l’exercice sur les prenoms est inspiré du site forge.apps.education.fr
- autres themes sur forge.apps.education.fr (disquaire)