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.
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 :
Partie A - Préparer la base de données☘
- Commencez par générer une .
- Nommez le fichier
TPB02.11_Films_Real.db
. - Fermez la fenêtre qui s'est affichée en cliquant sur le bouton [Annuler] :
- Vérifiez qu'une structure vide de base de données a bien été créée :
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
-
Appelez l'enseignant et expliquez-lui pourquoi il faut commencer par créer la table Pays.
-
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 contrainteNOT NULL
. -
Exécutez cette requête en cliquant sur .
-
Un message doit confirmer l'exécution de cette requête :
-
Cliquez sur l'onglet .
-
Vérifiez que la table Pays a bien été créée et quelle ne contient aucun enregistrement :
-
De manière analogue, définissez la table Realisateur sans oublier ses clefs primaires et étrangères.
-
Terminez avec la table Film sans oublier une contrainte sur l'année de sortie qui ne peut pas être inférieure à 1895.
-
Sauvegardez vos requêtes dans le fichier
TPB02.11_Films_Real.sql
puis vérifiez la création de ces tables :
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 !
-
Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Pays.
-
Exécutez ces requêtes puis vérifiez que cette table est correctement remplie :
-
Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Realisateur.
-
Exécutez ces requêtes. Une erreur est détectée :
Appelez l'enseignant et expliquez-lui la raison de cette erreur. -
Rédigez une requête permettant de remplacer le nom de pays
'U.S.A.'
par'États-Unis'
. -
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 :
-
Rédigez la (ou les) requêtes SQL qui permettent d'insérer les enregistrements correspondants dans la table Film.
-
Expliquez chacune des erreurs ci-dessous puis corrigez vos données afin que ces erreurs ne se produisent plus :
Result: CHECK constraint failed: Film
Result: UNIQUE constraint failed: Film.id_film
-
Vérifiez enfin que cette table est correctement remplie :
-
Dans la table Film, pouvez-vous insérer l'enregistrement suivant ?
Appelez l'enseignant et justifiez.(32, 'Jurassic World', 'États-Unis', 2015, 'Aventure', 15)
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).
-
Dans la table Film, certaines valeurs de la colonne
genre
sont'drama'
au lieu de'Drame'
. Corrigez-les. -
Dans la table Film, les films Star Wars de 1997 ne sont pas reconnus par les fans. Supprimez-les.
-
Dans la table Realisateur, modifiez la date de naissance de Sydney Lumet car il est en réalité né le 25 juin 1924.
-
Dans la table Realisateur, remplacez l'acronyme de J.J. Abrams par son prénom explicite :
-
Dans la table Pays, ajoutez la colonne
langue
puis complétez cette colonne (toujours à l'aide de requêtes) : -
Pour terminer :
- enregistrez les modifications dans la base de données,
- sauvegardez vos requêtes SQL,
- puis exportez la base au format
.csv
en choisissant le point-virgule « ; » comme séparateur.