Learning
PostgreSQL

Constraint-ek és adatintegritás

NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT és ON DELETE viselkedések.

Constraint-ek és adatintegritás

A constraint-ek szabályokat rögzítenek az adatokra. Ha sérted őket, a PostgreSQL hibával elutasítja a műveletet.

NOT NULL / UNIQUE / PRIMARY KEY

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email TEXT NOT NULL UNIQUE
);

FOREIGN KEY + ON DELETE

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id INTEGER REFERENCES users(id) ON DELETE RESTRICT
);

Opciók:

  • CASCADE: törléskor a függő sorok is törlődnek
  • SET NULL: hivatkozás nullázódik
  • RESTRICT: törlés tiltva, ha van hivatkozás

CHECK

CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  price NUMERIC(10, 2) CHECK (price > 0),
  stock INTEGER CHECK (stock >= 0)
);

DEFAULT

created_at TIMESTAMPTZ DEFAULT NOW()

Rövid összefoglaló

  • Constraint-ek az adatintegritás „utolsó védvonala”.
  • Foreign key + helyes ON DELETE stratégia sok későbbi hibát megelőz.

On this page