TSQL - Les jointures
Cette quête t'apprendra à tirer profit d'une fonctionnalité essentielle des bases de données relationnelles: les jointures.
Objectifs
-
Comprendre le principe des jointures
-
Savoir définir des clés étrangères en Transact-SQL
-
Connaître les différents types de jointures
-
Appliquer des contraintes à une clé étrangère pour préserver la cohérence des données
A la rencontre de l'espace
Avec les avancées technologiques des dernières années, nos capacités de transfert de données se sont étendues à l'espace. Cela n'est pas resté inaperçu puisqu'une majeure partie de nos communications furent interceptées par des martiens curieux. Suite à ces interceptions fortuites, les martiens décidèrent de rentrer en contact avec nous car nous étions la dernière race connue à ne pas faire partie du Conseil Intergalactique !

Il nous est possible de rejoindre le Conseil Intergalactique à une seule condition: que nous fassions évoluer notre technologie d'information pour pouvoir tracer l'introduction d'espèces extra-terrestres sur le territoire terrien.
Nous disposons des moyens technique nous permettant de grimper sur l'échelle sociale universelle, et tu as été choisi pour mener le projet à bien.
Des relations entre entités
Afin d'introduire des notions de relations entre entités dans un schéma de base de données relationnelle, on utilise ce qu'on appelle une clé étrangère.
Exemple de schéma relationnel:
![]()
Les clé étrangères permettent de créer des jointures entre des tables d'une base de donnée relationnelle. Les jointures permettent d'établir des relations entre les entités. Ces relations rendent des abstractions réalistes possibles.
Créer une clé étrangère avec SQL Server
Vidéo expliquant le principe des jointures
Récupérer des entités relationnellement
Afin de pouvoir récupérer différentes entités se relatant, il faut agrémenter nos requêtes de sélection habituelles de l'utilisation de JOIN qui joint deux tables entre elles en une seule requête.
Tous les types de jointures:

Exemples d'utilisation de INNER JOIN
Différents types de jointures en SQL
Les contraintes
Un des avantages à utiliser les mécanismes de _clé étrangère _est de pouvoir appliquer des contraintes spécifiques au comportement des relations. Ces contraintes facilitent les mises à jour et les opérations sur une base de données.
A l'aide d'une contrainte, il est possible d'empêcher une entité d'exister sans être en relation avec une autre. Cela participe à prévenir les problèmes de cohérence et d'intégrité des données.
Exemples d'utilisation et explication de contraintes sur une clé étrangère
Fil de discussion à propos de l'utilité de UPDATE CASCADE
Fil de discussion à propos du comportement de UPDATE CASCADE et DELETE CASCADE
Challenge
Les martiens V2
Les martiens ont maintenant joint la planète Terre et aimeraient que nous mettions en commun nos technologies afin que le Conseil Intergalactique nous concède un siège.
Tu dois créer un schéma de base de donnée permettant de référencer les relations entre humains et martiens.
Critères de validation
-
Un fichier TSQL permettant de créer la base est fourni
-
Le fichier TSQL crée des données de test
-
Chaque martien habilité à communiquer avec les terriens a un et unique terrien de référence
-
Chaque terrien a un continent terrien de référence
-
Chaque martien a une base martienne de référence
-
Chaque martien a un autre martien qui lui est supérieur
-
L'empereur des martiens est supérieur à lui-même
-
Dans le fichier TSQL, fournir une requête renvoyant l'affiliation de chaque martien a son terrien de référence. La requête doit contenir les champs suivants:
-
Le nom du martien
-
Le nom du référent terrien
-
Le continent de référence du terrien
-
La base du martien
-