FOREIGN KEY

PostgreSQL 🟢 Junior

Definition

Contrainte referentielle qui garantit qu'une valeur dans une table existe dans la table reference. 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'integrite referentielle entre les tables, comme les commandes liees aux utilisateurs.

Anti-pattern

Omettre les foreign keys pour 'gagner en perf', puis se retrouver avec des donnees orphelines.

Termes lies

#sgbd#interview#database#postgresql