sql >> Databáze >  >> RDS >> Oracle

Jaký je nejlepší způsob, jak vynutit vztah „podmnožiny“ s omezeními integrity

Jedním z problémů s SQL je jeho špatná úroveň podpory pro omezení integrity, zejména referenční omezení.

Ze všech praktických důvodů nelze váš problém vyřešit pomocí omezení SQL, pokud tato omezení nezakážete, když chcete do tabulky vložit řádek. Důvodem je, že SQL vyžaduje, aby se tabulky aktualizovaly po jedné, a proto musí být při každém vkládání nových řádků porušeno omezení. Toto je základní omezení SQL a trpí tím všechny hlavní DBMS.

Existuje několik řešení, ale žádné z nich není dokonalé. Můžete použít omezení DEFERRABLE, pokud je váš DBMS má (například Oracle). Omezení ODLOŽIT je ve skutečnosti jen snadný způsob, jak omezení deaktivovat. Nebo můžete použít spouštěče, což znamená, že pravidlo je vynuceno procedurálně spíše než prostřednictvím řádného omezení databáze.



  1. Ekvivalent LOAD DATA INFILE v Oracle

  2. Nemohu použít alias v sql delete

  3. Stránkování záznamů na straně klienta

  4. Chyba Heroku PostgreSQL GROUP_BY v aplikaci Rails