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.