Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jaki jest najlepszy sposób na wymuszenie relacji „podzbioru” z ograniczeniami integralności?

Jednym z problemów związanych z SQL jest niski poziom obsługi ograniczeń integralności, zwłaszcza ograniczeń referencyjnych.

Ze względów praktycznych problem nie może być rozwiązany za pomocą ograniczeń SQL, chyba że wyłączysz ograniczenia, gdy chcesz wstawić wiersz do tabeli. Powodem jest to, że SQL wymaga, aby tabele były aktualizowane pojedynczo, więc ograniczenie musi być naruszane za każdym razem, gdy wstawiane są nowe wiersze. Jest to podstawowe ograniczenie SQL i cierpią z tego powodu wszystkie główne DBMS.

Istnieje kilka obejść, ale żadne z nich nie jest idealne. Możesz użyć ograniczeń ODROCZNYCH, jeśli Twój DBMS je posiada (na przykład Oracle). Ograniczenie ODROCZONE to naprawdę prosty sposób na wyłączenie ograniczenia. Możesz też użyć wyzwalaczy, co oznacza, że ​​reguła jest egzekwowana proceduralnie, a nie przez odpowiednie ograniczenie bazy danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membership.ValidateUser zawsze zwraca wartość false po uaktualnieniu do VS 2010 / .NET 4.0

  2. Java:zbiór wyników jest pusty podczas wywoływania procedury składowanej z kursorem ref jako OUT

  3. Unikanie pojedynczego cudzysłowu w PLSQL

  4. SQL Oracle - Łączenie kolejnych wierszy z filtrem

  5. Konwertuj nowy wiersz na XML wewnątrz wyzwalacza Oracle