Retour au cours

Clés Partie 2 : Clés Étrangères (FK) et Relations

Principes Fondamentaux des Bases de Données : De Zéro à Héros

Leçon 8 : Clés Partie 2 : Clés Étrangères (FK) et Relations

Alors que les Clés Primaires définissent les enregistrements au sein d'une table, les Clés Étrangères (Foreign Keys) sont ce qui relie deux tables ensemble, définissant les relations.

Qu'est-ce qu'une Clé Étrangère (FK) ?

Une Clé Étrangère (FK) est une colonne (ou un ensemble de colonnes) dans une table qui référence la Clé Primaire d'une autre table.

  • La Clé Étrangère est le pont qui connecte les données.

Rôle de la Clé Étrangère (Intégrité Référentielle)

La FK applique l'Intégrité Référentielle, ce qui signifie que la relation entre les tables doit être valide. Vous ne pouvez pas créer un enregistrement dans la table 'enfant' qui référence un enregistrement non existant dans la table 'parent'.

Exemple : Commandes et Clients

  • Table Parent : Customers (PK est CustomerID)
  • Table Enfant : Orders (Doit savoir quel client a passé la commande)

Nous introduisons une colonne CustomerID dans la table Orders. Cette nouvelle colonne est la Clé Étrangère.

sql -- Table 1: Parent CREATE TABLE Customers ( CustomerID INTEGER PRIMARY KEY, Name VARCHAR(100) );

-- Table 2: Enfant CREATE TABLE Orders ( OrderID INTEGER PRIMARY KEY, OrderDate DATE, CustomerID INTEGER, -- Ceci est la Clé Étrangère

-- Définition de la contrainte FK
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)

);

Cette contrainte garantit :

  1. Chaque OrderID doit appartenir à un CustomerID qui existe réellement dans la table Customers.
  2. Vous ne pouvez pas supprimer un client s'il y a toujours des commandes associées à lui (sauf indication contraire).