FOREIGN KEY

PostgreSQL 🟢 Junior

Définition

Contrainte referentielle qui garantit qu'une valeur dans une table existe dans la table référence. Supporte ON DELETE CASCADE, SET NULL et RESTRICT.

Analogie

Un lien hypertexte garanti : il est impossible de pointer vers une page qui n'existe pas.

Exemple de code

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id INT NOT NULL
    REFERENCES users(id)
    ON DELETE CASCADE
);

Cas d'usage

Maintenir l'intégrité referentielle entre les tables, comme les commandes liées aux utilisateurs.

Anti-pattern

Omettre les foreign keys pour 'gagner en perf', puis se retrouver avec des données orphelines.
#sgbd#interview#database#postgresql

← → au clavier pour passer d'une fiche à l'autre