Aller au contenu

C17 Introduction aux bases de données

Cours

Support de cours chapitre 17

Attention

Ce diaporama ne vous donne que quelques points de repères lors de vos révisions. Il devrait être complété par la relecture attentive de vos propres notes de cours et par une révision approfondie des exercices.

Les exemples vu en cours s'appuient sur la base de données suivante : Médailles Olympiques 1976-2008

Travaux pratiques

â–ª Exercice 1 : Dette et croissance

  1. Télécharger les données présentées dans la vidéo précédente sous la forme d'une base de données : Dette et Croissance et l'ouvrir à l'aide de sqlitebrowser. Cette base est composée d'une seule table :
    RR
    IdINTEGER
    CountryTEXT
    YearINTEGER
    DebtToGDPREAL
    GrowthREAL
    DebtCategoryINTEGER
    On précise la signification des champs suivants :
    DebtToGDP : la dette en pourcentage du pib.
    Growth : la croissance.
  2. Quelques requêtes pour s'échauffer
    1. Vérifier comme indiqué dans la vidéo que les données contiennent bien 20 pays. Les lister.
    2. Vérifier aussi que les années vont de 1946 à 2009 comme indiqué dans la vidéo.
    3. Lister par ordre croissant les dix années où la croissance a été la plus faible en France.
    4. Lister les pays où la croissance a dépassé 15 %
  3. Des opérations sur les colonnes

    1. Ecrire une requête sql permettant d'obtenir le pays et l'année où la dette a été la plus importante en utilisant la fonction d'agrégation max

      Note

      On pourrait aussi écrire une requête de classe par ordre décroissant associée à une clause LIMIT

  4. Retrouver à l'aide de sql les vraies valeurs de croissance moyenne en fonction de la catégorie de dette dans laquelle se trouve le pays et qu'on rappelle ci-dessous :

    Catégorie Croissance moyenne
    1 4,2 %
    2 3,1 %
    3 3,2 %
    4 2,2 %
  5. Les opérations sur les colonnes sont particulièrement utiles en lien avec la clause GROUP BY. Par exemple, si on souhaite obtenir la somme de la croissance pour chacun des 20 pays depuis 1970 :

        SELECT country, SUM(Growth) from RR WHERE Year>=1970 GROUP BY Country
    

    On peut même renommer la colonne SUM(Growth) des résultats grâce à AS et donc l'utiliser comme critère de classement:

    sql SELECT country, SUM(Growth) AS moy70 from RR WHERE Year>=1970 GROUP BY Country ORDER BY moy70 DESC

    Ecrire une seule requête permettant d'obtenir les taux de croissance moyenne pour chacune des catégories de dette.

â–ª Exercice 2 : Prix Nobel

  1. Télécharger ci-dessous une base de données des Prix Nobel : Prix Nobel
  2. Ouvrir cette base avec sqlitebrowser
  3. Dans Parcourir les données prendre note du noms des colonnes et de leur signification.
  4. Ecrire les requêtes sql permettant :
    1. d'obtenir les catégories dans lesquelles sont attribuées les prix Nobel,
    2. de lister par ordre alphabétique les lauréats du prix Nobel nés en France ou travaillant pour une organisation Française,
    3. de lister les années où le "Comité international de la Croix Rouge" a obtenu le prix Nobel,
    4. de connaître le nombre de femmes ayant obtenu un prix Nobel,
    5. de lister par âge décroissant les lauréats du prix Nobel qui sont toujours en vie,
    6. de rechercher les lauréats dont le nom contient "Curie".

â–ª Exercice 3 : Tremblements de terre

  1. Télécharger ci-dessous une base de données des tremblements de terre : Tremblements de terre
  2. Ouvrir cette base avec sqlitebrowser
  3. Dans Parcourir les données prendre note du noms des colonnes et de leur signification.
  4. Ecrire les requêtes sql permettant :

    1. de lister tremblements de terre qui se sont produits au Japon,
    2. de lister les tremblements de terre qui se sont produits en l'an 2000 classés par magnitude,

      Aide

      Remarquer que le champ occured_on qui indique la date est au format texte.

  5. Utiliser cette base pour répondre aux questions suivantes :

    1. les tremblements de terre sont-ils plus fréquents dans l'hémisphère nord ou l'hémisphère sud ?

      Aide

      On rappelle que l'hémisphère nord correspond à une latitude positive et le sud à une latitude négative.

    2. Où étaient effectuées les essais nucléaires français ?

    3. L'un des séisme de cette base de données s'est-il produit à proximité de l'île de la Réunion ?

      Aide

      Rechercher la latitude et la longitude de l'île de Réunion et considérer que "à proximité" signifie qu'on s'écarte de moins de 10 degrés de latitude ou de longitude

â–ª Exercice 4 : Exercices en ligne

  1. Des exercices en lignes de requêtes sur une seule table crées par N. Reveret. Ces exercices peuvent être faits à la maison (aucune installation nécessaire) et les réponses sont fournis.

    1. Les prénoms en France au XX-ème siècle
    2. Ramens
  2. Même principe sur ce site de D. Quenton : Requête sur une seule table (livres)

  3. Même principe sur ce site de Q. Fortier :

    1. Métro parisien
    2. Pays
  4. Enfin, un site (en anglais) qui vous permettra de réviser l'ensemble de ce chapitre en faisant les tutoriels de 1 à 5:

    1. Tutoriel 1 : introduction
    2. Tutoriel 2 : requêtes avec conditions partie 1
    3. Tutoriel 3 : requêtes avec conditions partie 2
    4. Tutoriel 4 : filtrage et tri des résultats
    5. Tutoriel 5 : exercice de synthèse