Aller au contenu principal

TP2 - SQL

Objectifs
  1. Manipuler les différentes requêtes SQL;
  2. Comprendre la construction des requêtes.
Au préalable
  1. Se créer un dossier Terminale NSI sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier BDD
  3. Enregistrer les bases de données dans ce dossier.
TP

L'ensemble du TP se fait sur le logiciel LibreOffice Base.
Télécharger la base de données

Subtilité LibreOffice

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 :

  1. D'afficher toutes les matières.
  2. D'afficher le numéro du professeur principal de la classe '6A'.
  3. D'afficher les notes supérieures à 15.
  4. D'afficher le nom du professeur principal de la classe '5B'.
  5. D'afficher les élèves de la classe '5B'.
  6. D'afficher les notes avec les matières obtenues par l'élève "Moreau Alice".
  7. D'afficher les matières présentes dans la classe '6A'.

Requêtes de modification

Écrire les requêtes permettant :

  1. De modifier le professeur principal de la classe '6A' par le professeur dont l'identifiant est 5.
  2. De changer la classe de l'élève 'Dupont Jean' par la classe dont l'id est 1.
  3. De changer la note avec pour id 3 par la note 8.
  4. De changer le nom et prénom du professeur "Martin Claire" par "Lemoine Marie".
  5. De changer le nom de la matière 1 par "Physique-Chimie".
  6. De donner le cours de la matière 0 de la classe 0 au professeur dont l'identifiant est 5.
  7. De monter de 2 points toutes les notes de l'élève 1.

Requêtes d'insertion

Écrire les requêtes permettant :

  1. D'ajouter l'élève "Lemoine Émilie" dans la classe 1 et dont le tuteur est le professeur 5.
  2. D'ajouter le professeur "Leblanc Sophie".
  3. D'ajouter la matière "SVT".
  4. De créer la nouvelle classe "4C" dont le professeur principal est "Leblanc Sophie".
  5. D'ajouter à la classe "4C" le cours de "SVT" avec la professeur "Leblanc Sophie".
  6. D'ajouter la note 18 en "SVT" à "Lemoine Émilie".

Requêtes de suppression

danger

Bien vérifier les requêtes avant de les exécuter, les suppressions sont définitives dans la base.

Écrire les requêtes permettant :

  1. Supprimer l'élève "Dupont Jean".
  2. Supprimer la note de SVT de Lemoine Émilie.
  3. Supprimer le cours de SVT de la classe '4C'.
  4. Supprimer tous les élèves de la classe '6A'.