TP2 - SQL
- Manipuler les différentes requêtes SQL;
- Comprendre la construction des requêtes.
- Se créer un dossier
Terminale NSI
sur votre ordinateur ou clé USB - Dans ce dossier, créer un dossier
BDD
- Enregistrer les bases de données dans ce dossier.
L'ensemble du TP se fait sur le logiciel LibreOffice Base.
Télécharger la base de données
Lorsque l'on effectue des requêtes SQL sur LibreOffice Base, il faut impérativement
rajouter des guillemets autour du nom des tables, ainsi que des attributs :
SELECT "nom"
FROM "Eleves"
WHERE "nom" = 'Dupont'
Une apostrophe est utilisée pour les chaînes de caractères, et les guillemets pour les attributs et tables.
Tutoriel
Créer des requêtes de sélection
Dans le menu de gauche, cliquer sur Requêtes
, puis Créer une requête en mode SQL
:
Cette fenêtre s'ouvre :
C'est là-dedans que l'on écrit les requêtes de sélection. On appuie ensuite sur le bouton encadré en rouge (ou la touche F5
) pour exécuter la requête :
On obtient ainsi le résultat de la requête :
Créer des requêtes de modification, suppression et insertion
On va dans le menu Outils
, puis SQL
:
On obtient cette fenêtre, dans laquelle on peut écrire puis exécuter l'ensemble des requêtes :
Exemple :
On ajoute une élève, la console indique que la commande a été exécutée avec succès, et qu'une ligne a été mise à jour. Dans la table Eleves
, l'élève a été ajoutée.
TP
On dispose de la base de données École
représentée par le schéma relationnel suivant :
Eleves(idEleve : Integer, nom : String, prenom : String, classe# : Integer, tuteur# : Integer)
Professeurs(idProfesseur : Integer, nom : String, prenom : String)
Matieres(idMatiere : Integer, nomMatiere : String)
Classes(idClasse : Integer, nomClasse : String, profPrincipal# : Integer)
Cours(classe# : Integer, professeur# : Integer, matiere# : Integer)
Notes(idNote : Integer, note : Float, eleve# : Integer, matiere# : Integer)
Requêtes de sélection
Écrire les requêtes permettant :
- D'afficher toutes les matières.
- D'afficher le numéro du professeur principal de la classe '6A'.
- D'afficher les notes supérieures à 15.
- D'afficher le nom du professeur principal de la classe '5B'.
- D'afficher les élèves de la classe '5B'.
- D'afficher les notes avec les matières obtenues par l'élève "Moreau Alice".
- D'afficher les matières présentes dans la classe '6A'.
Requêtes de modification
Écrire les requêtes permettant :
- De modifier le professeur principal de la classe '6A' par le professeur dont l'identifiant est 5.
- De changer la classe de l'élève 'Dupont Jean' par la classe dont l'id est 1.
- De changer la note avec pour id 3 par la note 8.
- De changer le nom et prénom du professeur "Martin Claire" par "Lemoine Marie".
- De changer le nom de la matière 1 par "Physique-Chimie".
- De donner le cours de la matière 0 de la classe 0 au professeur dont l'identifiant est 5.
- De monter de 2 points toutes les notes de l'élève 1.
Requêtes d'insertion
Écrire les requêtes permettant :
- D'ajouter l'élève "Lemoine Émilie" dans la classe 1 et dont le tuteur est le professeur 5.
- D'ajouter le professeur "Leblanc Sophie".
- D'ajouter la matière "SVT".
- De créer la nouvelle classe "4C" dont le professeur principal est "Leblanc Sophie".
- D'ajouter à la classe "4C" le cours de "SVT" avec la professeur "Leblanc Sophie".
- D'ajouter la note 18 en "SVT" à "Lemoine Émilie".
Requêtes de suppression
Bien vérifier les requêtes avant de les exécuter, les suppressions sont définitives dans la base.
Écrire les requêtes permettant :
- Supprimer l'élève "Dupont Jean".
- Supprimer la note de SVT de Lemoine Émilie.
- Supprimer le cours de SVT de la classe '4C'.
- Supprimer tous les élèves de la classe '6A'.