Leksykon IT › Bazy danych › Ograniczenie wykluczające

Ograniczenie wykluczające

Bazy danych Svenska → Zaktualizowano: 2026-10-06

Uogólnienie unikalności: zamiast wymagać, by dwa wiersze nie miały tej samej wartości, można wymagać, by się nie nakładały, nie przecinały ani nie leżały zbyt blisko siebie.

Indeks unikalny to szczególny przypadek, w którym operatorem jest równość. PostgreSQL pozwala wybrać dowolny operator obsługiwany przez typ indeksu, co otwiera warunki niewyrażalne deklaratywnie w inny sposób. Podręcznikowy przykład to rezerwacje: EXCLUDE USING gist (room WITH =, during WITH &&) oznacza, że żadne dwa wiersze nie mogą mieć tej samej sali i nakładających się przedziałów czasu. Alternatywa w aplikacji — najpierw sprawdzić, czy termin jest wolny, a potem zapisać — to race condition czekający na odpowiedni ruch. Połączenie równości na zwykłych kolumnach z nakładaniem na przedziałach wymaga rozszerzenia btree_gist.

← Wróć do leksykonu