Exercices SQL

BDD 06

Exercices

Exercice 1 *

Regrouper les termes synonymes: colonne, entité, table, domaine, attribut, ligne, schéma, type, base de données, column, row, relation.

Exercice 2 **

Un cabinet de vétérinaire a besoin d’une application pour recenser les animaux soignés. Les informations utiles sont le nom, l’espèce (chat, chien…) et l’âge de chaque animal. Puis il faudra pouvoir répertorier tous les soins effectués pour chaque animal.

  1. Établir un modèle relationnel répondant à la demande.

  2. Créer une base de données veterinaire.db.

  3. Créer les tables correspondant au modèle.

  4. Insérer les espèces: chien, chat, poisson.

  5. Insérer les animaux:

    • Minou un chat de 15 ans,
    • Tex un chien de 8 ans.
    • Rrrrr un chien de 2 ans.
  6. Le chien Tex a eu une patte cassée. Il a été plâtré. Le chat Minou a eu de la fièvre. Il a reçu des antibiotiques. Insérer ces informations dans la base.

Exercice 3 **

  1. Télécharger l’annexe et ouvrir la base departements.db.

  2. À l’aide d’une recherche web, trouver l’utilité du code soundex.

  3. Écrire les requêtes pour sélectionner:

    • les informations du département 24,
    • le nom des départements avec le soundex M200,
    • le nom des départements dont le code (numéro) est strictement inférieur à 10,
    • le code et le nom des départements dont le code est compris entre 20 et 30 strictement,
    • le nom des départements qui contiennent haut,
    • le nom des départements qui ne sont pas des noms composés.

Exercice 4 **

  1. Ouvrir la base employes.db.

  2. Écrire les requêtes pour sélectionner:

    • les informations de GARFIELD,
    • le nom des employés qui ont pour désignation TECH,
    • le nom des employés qui commencent par un H,
    • le nom des employés embauchés (hired on) après le 1° janvier 1997,
    • le nom et le salaire des employés qui sont payés entre 25000 et 55000 strictement et qui touchent une commission.
  3. Ajouter l’employé DURAN, embauché le 13 janvier 1999 en tant que TECH. Son manager sera GARFIELD (id 6), son département le 4. Il gagnera 35000.

  4. Modifier le salaire de FILLMORE à 60000.

Exercice 5 **

  1. Ouvrir la base bandes-dessinees.db.

  2. Ajouter l’auteur Jacques Tardi dans la table Auteurs.

  3. Ajouter trois emprunteurs:

    • Alice Knuth né le 19 avril 2002,
    • Bob Nelson né le 24 juillet 1990,
    • Christophe Viroulaud né le 08 décembre 1987.
  4. Sélectionner tous les auteurs qui ont Christophe pour prénom.

  5. Sélectionner les titres des bandes-dessinées dont l’id du genre est supérieur à 10.

  6. Sélectionner les bandes dessinées dont le premier tome est sorti en 2010 ou après.

À retenir

Il peut être fastidieux d’effectuer une recherche exacte sur une chaîne de caractère. Le langage \textbf{SQL} propose des outils puissants de recherche.

Le code suivant renvoie toutes les bandes dessinées qui contiennent Astérix dans leur titre.

SELECT * FROM Bandes_dessinees 
WHERE titre LIKE "%Astérix%";
  • La chaîne %Astérix% est un motif où le % est un joker. Il signifie que SQL peut le remplacer par n’importe quelle chaîne.
  • Si on sait qu’il n’y aura qu’un seul caractère on peut utiliser le joker _

Ainsi le code suivant renvoie toutes les lignes qui contiennent Astérix, Asterix…

SELECT * FROM Bandes_dessinees 
WHERE titre LIKE "%Ast_rix%";
  1. Sélectionner les auteurs dont le nom commence par un *T=.
  2. L’emprunteur Christophe Viroulaud n’est pas né en 1987 mais en 1977. Mettre à jour sa date de naissance.
  3. Pourquoi la requête suivante renvoie une erreur?
DELETE FROM Emprunteurs WHERE id = 1;