Artiklis Deferrable SQL Constraints in Depth tuuakse PostgreSQL näitel välja olukorrad, millal DEFFERRABLE kitsendusi kasutada ja millal mitte.
DEFERRABLE kitsenduste kasutamise näidete hulgas on:
- andmete lisamine tabelitesse, mis kohustuslikke välisvõtmeid kasutades viitavad üksteisele (minu arvates peaks siinkohal üle vaatama andmebaasi struktuuri),
- eksklusiivsete ressursside ümberjagamine rühmade vahel (iga ressurss saab olla seotud vaid ühe rühmaga),
- unikaalsete järjekorranumbrite muutmine (parem lahendus võiks olla ujukomaarvude kasutamine järjekorranumbritena),
- andmete uude andmebaasi laadimise mugavamaks tegemine.
- selline kitsenduse omadus võib takistada andmebaasisüsteemil kasutada seda kitsendust päringu optimeerimisel ja seega suurendada päringu täitmiseks kuluvat aega (siin on näide selle kohta Oracles),
- keerulisem silumine.
- Oracle 12c kõigi kitsenduse tüüpide puhul,
- PostgreSQL 14 ei saa CHECK ja NOT NULL kitsenduste puhul,
- MySQL 8 ei saa ühegi kitsenduse tüübi puhul.