Exercice Base de données – Cours 3 (2026)

L’objectif de l’exercice est de vous faire pratiquer les requêtes imbriquées, les jointures de tables et les vues

Requêtes imbriquées

Une requête imbriquée signifie qu’on utilise le résultat d’une requête dans une autre. 

Exercice 1

Créer la base de données “Cours3”

Exercice 2

Créer les tables suivantes:

ville (id_ville, nom, population)

citoyen (id_citoyen, prenom, nom, id_ville)

Nom et prénom sont des varchar, les autres sont des int.

Notez que les champs id_citoyen et id_ville sont des clés primaires auto-incrémentées.

Exercice 3

Entrez les données suivantes:

Ville

Gatineau, 276245

Quebec, 531902

Montreal, 1704694

Citoyen

Jean, Crétien, 1

Lara, Croft, 1

Donald, Trump, 2

Sarah, Connor, 3

Darth, Vador, 3

Luke, Skywalker, 2

Mike, Wazowski, 1

James, Sullivan, 2

Exercice 4

Afficher les prenoms et nom des citoyens dont la ville a une population supérieur à 300 000.

Exercice 5

Afficher les prénoms et nom des citoyens dont le nom de la ville possède la lettre “a”

Exercice 6

Afficher les prénoms et nom des citoyens dont la ville a une population inférieure à 1 million et dont le prénom possède la lettre “a”.

Jointures de table

Les jointures permettent de définir une table temporaire en combinant le contenu de plusieurs tables. Pour effectuer la jointure, les tables doivent partager un attribut en commun tel qu’une clé (clé étrangère et clé primaire).

Relation 1 à plusieurs

Exercice 7 

Créer les tables suivantes:

conducteur (id_conducteur, prenom, nom)

vehicule (id_vehicule, marque, modele, couleur, id_conducteur)

Exercice 8

Insérer les valeurs suivantes:

Conducteur

alexandre, Tremblay

Jean, Lesage

Tony, Stark

Vehicule

Toyota, Corolla, bleu, 1

Honda, Civic, rouge, 1

Ford, Focus, noire, 2

Tesla, Roadster, rouge, 3

Bugatti, Veyron SS, blanche, 3

Acura, NSX, rouge, 3

Exercice 9

Faite une jointure entre les tables conducteur et véhicule afin d’afficher:

  • La marque
  • Le modèle
  • Le nom du conducteur

Relation plusieurs à plusieurs

Exercice 10

Créer les tables suivantes:

cours (id_cours, titre)

etudiant (id_etudiant, prenom, nom)

cours_etudiant (id_etudiant, id_cours)

Exercice 11

Insérer les valeurs suivantes:

Cours

Programmation Serveur

Programmation C#

HTML + CSS

Etudiant

Alexandre, Blanchette

Sylvain, Caron

Mathieu, Barette

Robert, Tremblay

Cours_Etudiant

1,1

1,2

2,1

2,2

2,3

3,2

4,1

4,3

Exercice 12

Faite une jointure entre les tables afin d’afficher:

  • La liste des étudiants qui suivent le cours “Programmation Serveur”
  • Les cours suivit par Sylvain Caron

Exercice 13

Utiliser une requête imbriquée pour afficher les nom et prénoms des étudiants qui suivent le cours de programmation C#.

Les vues

Exercice 14

Créer des vues a partir des requêtes de l’exercice 12.

Appelez les “vue_etudiant_programmation_serveur” et “vue_cours_sylvain_caron”.

Exercice 15

Créée une vue à partir de la requêtes créée à l’exercice 12.

Appelez la “vue_etudiant_cours_c_sharp”

Exercice 16: Mini-projet

Imaginer une entreprise ou projet qui vous intéresse (école, hopital, organisme bénévol, commerce en ligne, etc.) et créer les tables que leur base de données pourrait avoir. Assurez-vous d’inclure au moins 5 tables et de les lier par des relations 1 à N et N à N.

Créez ensuite les éléments suivants:

  • 3 requêtes qui utilisent des jointures entre 2 tables
  • 2 requêtes qui utilisent des jointures entre 3 tables
  • Créer 2 vues

N’hésitez pas à demander à votre enseignant si vous voulez de la rétroaction sur votre travail.