Aller au contenu

TP - Premiers pas avec SQLite

Dans le dossier [NSI], créez le dossier [B02-BDD_Relationnelle].
Dans ce dossier, enregistrez les fichiers nécessaires à la réalisation de ce TP.

Pour réaliser ce TP, vous aurez besoin d'utiliser le logiciel DB Browser for SQLite présent sur les postes du Lycée.

DB Browser for SQLite

Remarque

Il est recommandé de télécharger et installer ce logiciel sur vos postes personnels...

Ce logiciel va vous permettre de travailler sur deux types de fichiers :

  • les bases de données, stockées dans un fichier au format .db ;
  • Les requêtes SQL, qui pourront être testées et interprêtées par le SGBD.
    Ces requêtes peuvent être sauvagardées dans un fichier au format .sql.

Dans ce TP, nous allons implémenter la base de données correspondant au modèle conceptuel ci-dessous, étudié dans le chapitre précédent :

Films, réalisateurs, pays

Partie A - Préparer la base de données

  1. Commencez par générer une .
  2. Nommez le fichier TPB02.11_Films_Real.db.
  3. Fermez la fenêtre qui s'est affichée en cliquant sur le bouton [Annuler] : Films, réalisateurs, pays
  4. Vérifiez qu'une structure vide de base de données a bien été créée : Films, réalisateurs, pays

Partie B - Créer les tables

L'onglet permet d'exécuter des requêtes SQLite et d'enregistrer des requêtes dans un fichier au format .sql.

Rappel - Schéma relationnel à implémenter

Films, réalisateurs, pays

  1. Appelez l'enseignant et expliquez-lui pourquoi il faut commencer par créer la table Pays. Films, réalisateurs, pays

  2. Entrez la requête permettant de créer cette table puis enregistrez la requête dans le fichier TPB02.11_Films_Real.sql.
    Inutile de mettre la contrainte NOT NULL.

  3. Exécutez cette requête en cliquant sur .

  4. Un message doit confirmer l'exécution de cette requête : Films, réalisateurs, pays

  5. Cliquez sur l'onglet .

  6. Vérifiez que la table Pays a bien été créée et quelle ne contient aucun enregistrement : Films, réalisateurs, pays

  7. De manière analogue, définissez la table Realisateur sans oublier ses clefs primaires et étrangères.

  8. Terminez avec la table Film sans oublier une contrainte sur l'année de sortie qui ne peut pas être inférieure à 1895.

  9. Sauvegardez vos requêtes dans le fichier TPB02.11_Films_Real.sql puis vérifiez la création de ces tables : Films, réalisateurs, pays Films, réalisateurs, pays

Partie C - Insérer des enregistrements

Les enregistrements de cette base de données sont stockées dans différents fichiers au format .csv à télécharger :

Attention

Même si le logiciel DB Browser permet d'éditer « à la main » les données (presque comme avec un tableur), cette démarche n'est pas autorisée dans ce TP (et dans tous les autres non plus d'ailleurs).

Le but est de vous familiariser avec les requêtes SQL !

  1. Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Pays.

  2. Exécutez ces requêtes puis vérifiez que cette table est correctement remplie : Films, réalisateurs, pays

  3. Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Realisateur.

  4. Exécutez ces requêtes. Une erreur est détectée :
    Films, réalisateurs, pays
    Appelez l'enseignant et expliquez-lui la raison de cette erreur.

  5. Rédigez une requête permettant de remplacer le nom de pays 'U.S.A.' par 'États-Unis'. Films, réalisateurs, pays

  6. Exécutez ensuite les requêtes qui permettent d'insérer les enregistrements correspondants dans la table Realisateur et vérifiez que cette table est correctement remplie : Films, réalisateurs, pays

  7. Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Film.

  8. Expliquez chacune des erreurs ci-dessous puis corrigez vos données afin que ces erreurs ne se produisent plus :

    1. Result: CHECK constraint failed: Film
    2. Result: UNIQUE constraint failed: Film.id_film
  9. Vérifiez enfin que cette table est correctement remplie : Films, réalisateurs, pays

  10. Dans la table Film, pouvez-vous insérer l'enregistrement suivant ?

    (32, 'Jurassic World', 'États-Unis', 2015, 'Aventure', 15)
    
    Appelez l'enseignant et justifiez.

Partie D - Modifier des enregistrements

Ces données ne sont malheureusement pas exemptes d'erreurs qui n'ont pas été repérées par les différentes contraintes énoncées à la création des tables.

Rédigez les requêtes suivantes.

Attention

Ces requêtes ne doivent pas laisser de place à l'implicite : ce doivent être le bons enregistrements qui seront modifiés, aucun autre (même non encore présent dans la table).

  1. Dans la table Film, certaines valeurs de la colonne genre sont 'drama' au lieu de 'Drame'. Corrigez-les. Films, réalisateurs, pays

  2. Dans la table Film, les films Star Wars de 1997 ne sont pas reconnus par les fans. Supprimez-les. Films, réalisateurs, pays

  3. Dans la table Realisateur, modifiez la date de naissance de Sydney Lumet car il est en réalité né le 25 juin 1924. Films, réalisateurs, pays

  4. Dans la table Realisateur, remplacez l'acronyme de J.J. Abrams par son prénom explicite : Films, réalisateurs, pays

  5. Dans la table Pays, ajoutez la colonne langue puis complétez cette colonne (toujours à l'aide de requêtes) : Films, réalisateurs, pays

  6. Pour terminer :

    1. enregistrez les modifications dans la base de données,
    2. sauvegardez vos requêtes SQL,
    3. puis exportez la base au format .csv en choisissant le point-virgule « ; » comme séparateur.