exercice prenoms sql

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 sqliteonline.com

import depuis db Browser for sqlite

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

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:

  1. Afficher les dix premières lignes de la table
  2. Afficher les lignes correspondant à l’année 1923. Là encore, mieux vaut ne demander que les 10 premières lignes…
  3. Afficher les prénoms des filles nées en 1978.
  4. Combien de fois le prénom Nicolas a-t-il été donné en 1907 ?
  5. 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
  6. 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.
  7. Afficher le nombre de prénoms différents de garçons donnés en 1938. SELECT COUNT(*) FROM WHERE
  8. Afficher le nombre de naissances de garçons observées en 1938.
  9. Afficher le nombre de filles et le nombre de garçons apparaissant dans la table. SELECT SUM(nombre) FROM GROUP BY
  10. 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
  11. En quelle année y-a-t-il eu le plus de naissances ? SELECT SUM(nombre) FROM GROUP BY ORDER BY DESC LIMIT
  12. 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